xorp

ospfv2_xif.hh

00001 /*
00002  * obj/i386-pc-mingw32/xrl/interfaces/ospfv2_xif.hh
00003  * vim:set sts=4 ts=8 ft=cpp:
00004  *
00005  * Copyright (c) 2001-2010 XORP, Inc and Others
00006  * See the XORP LICENSE.lgpl file for licensing, conditions, and warranties
00007  * on use.
00008  *
00009  * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED
00010  *
00011  * Generated by 'clnt-gen'.
00012  */
00013 
00014 #ifndef __XRL_INTERFACES_OSPFV2_XIF_HH__
00015 #define __XRL_INTERFACES_OSPFV2_XIF_HH__
00016 
00017 #undef XORP_LIBRARY_NAME
00018 #define XORP_LIBRARY_NAME "XifOspfv2"
00019 
00020 #include "libxorp/xlog.h"
00021 #include "libxorp/callback.hh"
00022 
00023 #include "libxipc/xrl.hh"
00024 #include "libxipc/xrl_error.hh"
00025 #include "libxipc/xrl_sender.hh"
00026 
00027 //#include <memory>
00028 
00029 class XrlOspfv2V0p1Client {
00030 public:
00031     XrlOspfv2V0p1Client(XrlSender* s) : _sender(s) {}
00032     virtual ~XrlOspfv2V0p1Client() {}
00033 
00034     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterIdCB;
00042     bool send_set_router_id(
00043     const char* dst_xrl_target_name,
00044     const IPv4& id,
00045     const SetRouterIdCB&    cb
00046     );
00047 
00048     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRfc1583CompatibilityCB;
00056     bool send_set_rfc1583_compatibility(
00057     const char* dst_xrl_target_name,
00058     const bool& compatibility,
00059     const SetRfc1583CompatibilityCB&    cb
00060     );
00061 
00062     typedef XorpCallback1<void, const XrlError&>::RefPtr SetIpRouterAlertCB;
00070     bool send_set_ip_router_alert(
00071     const char* dst_xrl_target_name,
00072     const bool& ip_router_alert,
00073     const SetIpRouterAlertCB&   cb
00074     );
00075 
00076     typedef XorpCallback1<void, const XrlError&>::RefPtr CreateAreaRouterCB;
00088     bool send_create_area_router(
00089     const char* dst_xrl_target_name,
00090     const IPv4& area,
00091     const string&   type,
00092     const CreateAreaRouterCB&   cb
00093     );
00094 
00095     typedef XorpCallback1<void, const XrlError&>::RefPtr ChangeAreaRouterTypeCB;
00107     bool send_change_area_router_type(
00108     const char* dst_xrl_target_name,
00109     const IPv4& area,
00110     const string&   type,
00111     const ChangeAreaRouterTypeCB&   cb
00112     );
00113 
00114     typedef XorpCallback1<void, const XrlError&>::RefPtr DestroyAreaRouterCB;
00124     bool send_destroy_area_router(
00125     const char* dst_xrl_target_name,
00126     const IPv4& area,
00127     const DestroyAreaRouterCB&  cb
00128     );
00129 
00130     typedef XorpCallback1<void, const XrlError&>::RefPtr CreatePeerCB;
00146     bool send_create_peer(
00147     const char* dst_xrl_target_name,
00148     const string&   ifname,
00149     const string&   vifname,
00150     const IPv4& addr,
00151     const string&   type,
00152     const IPv4& area,
00153     const CreatePeerCB& cb
00154     );
00155 
00156     typedef XorpCallback1<void, const XrlError&>::RefPtr DeletePeerCB;
00164     bool send_delete_peer(
00165     const char* dst_xrl_target_name,
00166     const string&   ifname,
00167     const string&   vifname,
00168     const DeletePeerCB& cb
00169     );
00170 
00171     typedef XorpCallback1<void, const XrlError&>::RefPtr SetPeerStateCB;
00179     bool send_set_peer_state(
00180     const char* dst_xrl_target_name,
00181     const string&   ifname,
00182     const string&   vifname,
00183     const bool& enable,
00184     const SetPeerStateCB&   cb
00185     );
00186 
00187     typedef XorpCallback1<void, const XrlError&>::RefPtr AddNeighbourCB;
00195     bool send_add_neighbour(
00196     const char* dst_xrl_target_name,
00197     const string&   ifname,
00198     const string&   vifname,
00199     const IPv4& area,
00200     const IPv4& neighbour_address,
00201     const IPv4& neighbour_id,
00202     const AddNeighbourCB&   cb
00203     );
00204 
00205     typedef XorpCallback1<void, const XrlError&>::RefPtr RemoveNeighbourCB;
00213     bool send_remove_neighbour(
00214     const char* dst_xrl_target_name,
00215     const string&   ifname,
00216     const string&   vifname,
00217     const IPv4& area,
00218     const IPv4& neighbour_address,
00219     const IPv4& neighbour_id,
00220     const RemoveNeighbourCB&    cb
00221     );
00222 
00223     typedef XorpCallback1<void, const XrlError&>::RefPtr CreateVirtualLinkCB;
00237     bool send_create_virtual_link(
00238     const char* dst_xrl_target_name,
00239     const IPv4& neighbour_id,
00240     const IPv4& area,
00241     const CreateVirtualLinkCB&  cb
00242     );
00243 
00244     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteVirtualLinkCB;
00254     bool send_delete_virtual_link(
00255     const char* dst_xrl_target_name,
00256     const IPv4& neighbour_id,
00257     const DeleteVirtualLinkCB&  cb
00258     );
00259 
00260     typedef XorpCallback1<void, const XrlError&>::RefPtr TransitAreaVirtualLinkCB;
00272     bool send_transit_area_virtual_link(
00273     const char* dst_xrl_target_name,
00274     const IPv4& neighbour_id,
00275     const IPv4& transit_area,
00276     const TransitAreaVirtualLinkCB& cb
00277     );
00278 
00279     typedef XorpCallback1<void, const XrlError&>::RefPtr SetInterfaceCostCB;
00287     bool send_set_interface_cost(
00288     const char* dst_xrl_target_name,
00289     const string&   ifname,
00290     const string&   vifname,
00291     const IPv4& area,
00292     const uint32_t& cost,
00293     const SetInterfaceCostCB&   cb
00294     );
00295 
00296     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRetransmitIntervalCB;
00310     bool send_set_retransmit_interval(
00311     const char* dst_xrl_target_name,
00312     const string&   ifname,
00313     const string&   vifname,
00314     const IPv4& area,
00315     const uint32_t& interval,
00316     const SetRetransmitIntervalCB&  cb
00317     );
00318 
00319     typedef XorpCallback1<void, const XrlError&>::RefPtr SetInftransdelayCB;
00331     bool send_set_inftransdelay(
00332     const char* dst_xrl_target_name,
00333     const string&   ifname,
00334     const string&   vifname,
00335     const IPv4& area,
00336     const uint32_t& delay,
00337     const SetInftransdelayCB&   cb
00338     );
00339 
00340     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterPriorityCB;
00348     bool send_set_router_priority(
00349     const char* dst_xrl_target_name,
00350     const string&   ifname,
00351     const string&   vifname,
00352     const IPv4& area,
00353     const uint32_t& priority,
00354     const SetRouterPriorityCB&  cb
00355     );
00356 
00357     typedef XorpCallback1<void, const XrlError&>::RefPtr SetHelloIntervalCB;
00365     bool send_set_hello_interval(
00366     const char* dst_xrl_target_name,
00367     const string&   ifname,
00368     const string&   vifname,
00369     const IPv4& area,
00370     const uint32_t& interval,
00371     const SetHelloIntervalCB&   cb
00372     );
00373 
00374     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterDeadIntervalCB;
00382     bool send_set_router_dead_interval(
00383     const char* dst_xrl_target_name,
00384     const string&   ifname,
00385     const string&   vifname,
00386     const IPv4& area,
00387     const uint32_t& interval,
00388     const SetRouterDeadIntervalCB&  cb
00389     );
00390 
00391     typedef XorpCallback1<void, const XrlError&>::RefPtr SetSimpleAuthenticationKeyCB;
00407     bool send_set_simple_authentication_key(
00408     const char* dst_xrl_target_name,
00409     const string&   ifname,
00410     const string&   vifname,
00411     const IPv4& area,
00412     const string&   password,
00413     const SetSimpleAuthenticationKeyCB& cb
00414     );
00415 
00416     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteSimpleAuthenticationKeyCB;
00430     bool send_delete_simple_authentication_key(
00431     const char* dst_xrl_target_name,
00432     const string&   ifname,
00433     const string&   vifname,
00434     const IPv4& area,
00435     const DeleteSimpleAuthenticationKeyCB&  cb
00436     );
00437 
00438     typedef XorpCallback1<void, const XrlError&>::RefPtr SetMd5AuthenticationKeyCB;
00464     bool send_set_md5_authentication_key(
00465     const char* dst_xrl_target_name,
00466     const string&   ifname,
00467     const string&   vifname,
00468     const IPv4& area,
00469     const uint32_t& key_id,
00470     const string&   password,
00471     const string&   start_time,
00472     const string&   end_time,
00473     const uint32_t& max_time_drift,
00474     const SetMd5AuthenticationKeyCB&    cb
00475     );
00476 
00477     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteMd5AuthenticationKeyCB;
00493     bool send_delete_md5_authentication_key(
00494     const char* dst_xrl_target_name,
00495     const string&   ifname,
00496     const string&   vifname,
00497     const IPv4& area,
00498     const uint32_t& key_id,
00499     const DeleteMd5AuthenticationKeyCB& cb
00500     );
00501 
00502     typedef XorpCallback1<void, const XrlError&>::RefPtr SetPassiveCB;
00510     bool send_set_passive(
00511     const char* dst_xrl_target_name,
00512     const string&   ifname,
00513     const string&   vifname,
00514     const IPv4& area,
00515     const bool& passive,
00516     const bool& host,
00517     const SetPassiveCB& cb
00518     );
00519 
00520     typedef XorpCallback1<void, const XrlError&>::RefPtr OriginateDefaultRouteCB;
00529     bool send_originate_default_route(
00530     const char* dst_xrl_target_name,
00531     const IPv4& area,
00532     const bool& enable,
00533     const OriginateDefaultRouteCB&  cb
00534     );
00535 
00536     typedef XorpCallback1<void, const XrlError&>::RefPtr StubDefaultCostCB;
00545     bool send_stub_default_cost(
00546     const char* dst_xrl_target_name,
00547     const IPv4& area,
00548     const uint32_t& cost,
00549     const StubDefaultCostCB&    cb
00550     );
00551 
00552     typedef XorpCallback1<void, const XrlError&>::RefPtr SummariesCB;
00560     bool send_summaries(
00561     const char* dst_xrl_target_name,
00562     const IPv4& area,
00563     const bool& enable,
00564     const SummariesCB&  cb
00565     );
00566 
00567     typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeAddCB;
00575     bool send_area_range_add(
00576     const char* dst_xrl_target_name,
00577     const IPv4& area,
00578     const IPv4Net&  net,
00579     const bool& advertise,
00580     const AreaRangeAddCB&   cb
00581     );
00582 
00583     typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeDeleteCB;
00591     bool send_area_range_delete(
00592     const char* dst_xrl_target_name,
00593     const IPv4& area,
00594     const IPv4Net&  net,
00595     const AreaRangeDeleteCB&    cb
00596     );
00597 
00598     typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeChangeStateCB;
00606     bool send_area_range_change_state(
00607     const char* dst_xrl_target_name,
00608     const IPv4& area,
00609     const IPv4Net&  net,
00610     const bool& advertise,
00611     const AreaRangeChangeStateCB&   cb
00612     );
00613 
00614     typedef XorpCallback1<void, const XrlError&>::RefPtr TraceCB;
00626     bool send_trace(
00627     const char* dst_xrl_target_name,
00628     const string&   tvar,
00629     const bool& enable,
00630     const TraceCB&  cb
00631     );
00632 
00633     typedef XorpCallback5<void, const XrlError&, const bool*, const bool*, const bool*, const vector<uint8_t>*>::RefPtr GetLsaCB;
00647     bool send_get_lsa(
00648     const char* dst_xrl_target_name,
00649     const IPv4& area,
00650     const uint32_t& index,
00651     const GetLsaCB& cb
00652     );
00653 
00654     typedef XorpCallback2<void, const XrlError&, const XrlAtomList*>::RefPtr GetAreaListCB;
00663     bool send_get_area_list(
00664     const char* dst_xrl_target_name,
00665     const GetAreaListCB&    cb
00666     );
00667 
00668     typedef XorpCallback2<void, const XrlError&, const XrlAtomList*>::RefPtr GetNeighbourListCB;
00678     bool send_get_neighbour_list(
00679     const char* dst_xrl_target_name,
00680     const GetNeighbourListCB&   cb
00681     );
00682 
00683     typedef XorpCallback13<void, const XrlError&, const string*, const string*, const string*, const IPv4*, const uint32_t*, const uint32_t*, const IPv4*, const uint32_t*, const IPv4*, const IPv4*, const uint32_t*, const uint32_t*>::RefPtr GetNeighbourInfoCB;
00693     bool send_get_neighbour_info(
00694     const char* dst_xrl_target_name,
00695     const uint32_t& nid,
00696     const GetNeighbourInfoCB&   cb
00697     );
00698 
00699     typedef XorpCallback1<void, const XrlError&>::RefPtr ClearDatabaseCB;
00707     bool send_clear_database(
00708     const char* dst_xrl_target_name,
00709     const ClearDatabaseCB&  cb
00710     );
00711 
00712 protected:
00713     XrlSender* _sender;
00714 
00715 private:
00716     static void unmarshall_set_router_id(
00717     const XrlError& e,
00718     XrlArgs*    a,
00719     SetRouterIdCB       cb
00720     );
00721 
00722     static void unmarshall_set_rfc1583_compatibility(
00723     const XrlError& e,
00724     XrlArgs*    a,
00725     SetRfc1583CompatibilityCB       cb
00726     );
00727 
00728     static void unmarshall_set_ip_router_alert(
00729     const XrlError& e,
00730     XrlArgs*    a,
00731     SetIpRouterAlertCB      cb
00732     );
00733 
00734     static void unmarshall_create_area_router(
00735     const XrlError& e,
00736     XrlArgs*    a,
00737     CreateAreaRouterCB      cb
00738     );
00739 
00740     static void unmarshall_change_area_router_type(
00741     const XrlError& e,
00742     XrlArgs*    a,
00743     ChangeAreaRouterTypeCB      cb
00744     );
00745 
00746     static void unmarshall_destroy_area_router(
00747     const XrlError& e,
00748     XrlArgs*    a,
00749     DestroyAreaRouterCB     cb
00750     );
00751 
00752     static void unmarshall_create_peer(
00753     const XrlError& e,
00754     XrlArgs*    a,
00755     CreatePeerCB        cb
00756     );
00757 
00758     static void unmarshall_delete_peer(
00759     const XrlError& e,
00760     XrlArgs*    a,
00761     DeletePeerCB        cb
00762     );
00763 
00764     static void unmarshall_set_peer_state(
00765     const XrlError& e,
00766     XrlArgs*    a,
00767     SetPeerStateCB      cb
00768     );
00769 
00770     static void unmarshall_add_neighbour(
00771     const XrlError& e,
00772     XrlArgs*    a,
00773     AddNeighbourCB      cb
00774     );
00775 
00776     static void unmarshall_remove_neighbour(
00777     const XrlError& e,
00778     XrlArgs*    a,
00779     RemoveNeighbourCB       cb
00780     );
00781 
00782     static void unmarshall_create_virtual_link(
00783     const XrlError& e,
00784     XrlArgs*    a,
00785     CreateVirtualLinkCB     cb
00786     );
00787 
00788     static void unmarshall_delete_virtual_link(
00789     const XrlError& e,
00790     XrlArgs*    a,
00791     DeleteVirtualLinkCB     cb
00792     );
00793 
00794     static void unmarshall_transit_area_virtual_link(
00795     const XrlError& e,
00796     XrlArgs*    a,
00797     TransitAreaVirtualLinkCB        cb
00798     );
00799 
00800     static void unmarshall_set_interface_cost(
00801     const XrlError& e,
00802     XrlArgs*    a,
00803     SetInterfaceCostCB      cb
00804     );
00805 
00806     static void unmarshall_set_retransmit_interval(
00807     const XrlError& e,
00808     XrlArgs*    a,
00809     SetRetransmitIntervalCB     cb
00810     );
00811 
00812     static void unmarshall_set_inftransdelay(
00813     const XrlError& e,
00814     XrlArgs*    a,
00815     SetInftransdelayCB      cb
00816     );
00817 
00818     static void unmarshall_set_router_priority(
00819     const XrlError& e,
00820     XrlArgs*    a,
00821     SetRouterPriorityCB     cb
00822     );
00823 
00824     static void unmarshall_set_hello_interval(
00825     const XrlError& e,
00826     XrlArgs*    a,
00827     SetHelloIntervalCB      cb
00828     );
00829 
00830     static void unmarshall_set_router_dead_interval(
00831     const XrlError& e,
00832     XrlArgs*    a,
00833     SetRouterDeadIntervalCB     cb
00834     );
00835 
00836     static void unmarshall_set_simple_authentication_key(
00837     const XrlError& e,
00838     XrlArgs*    a,
00839     SetSimpleAuthenticationKeyCB        cb
00840     );
00841 
00842     static void unmarshall_delete_simple_authentication_key(
00843     const XrlError& e,
00844     XrlArgs*    a,
00845     DeleteSimpleAuthenticationKeyCB     cb
00846     );
00847 
00848     static void unmarshall_set_md5_authentication_key(
00849     const XrlError& e,
00850     XrlArgs*    a,
00851     SetMd5AuthenticationKeyCB       cb
00852     );
00853 
00854     static void unmarshall_delete_md5_authentication_key(
00855     const XrlError& e,
00856     XrlArgs*    a,
00857     DeleteMd5AuthenticationKeyCB        cb
00858     );
00859 
00860     static void unmarshall_set_passive(
00861     const XrlError& e,
00862     XrlArgs*    a,
00863     SetPassiveCB        cb
00864     );
00865 
00866     static void unmarshall_originate_default_route(
00867     const XrlError& e,
00868     XrlArgs*    a,
00869     OriginateDefaultRouteCB     cb
00870     );
00871 
00872     static void unmarshall_stub_default_cost(
00873     const XrlError& e,
00874     XrlArgs*    a,
00875     StubDefaultCostCB       cb
00876     );
00877 
00878     static void unmarshall_summaries(
00879     const XrlError& e,
00880     XrlArgs*    a,
00881     SummariesCB     cb
00882     );
00883 
00884     static void unmarshall_area_range_add(
00885     const XrlError& e,
00886     XrlArgs*    a,
00887     AreaRangeAddCB      cb
00888     );
00889 
00890     static void unmarshall_area_range_delete(
00891     const XrlError& e,
00892     XrlArgs*    a,
00893     AreaRangeDeleteCB       cb
00894     );
00895 
00896     static void unmarshall_area_range_change_state(
00897     const XrlError& e,
00898     XrlArgs*    a,
00899     AreaRangeChangeStateCB      cb
00900     );
00901 
00902     static void unmarshall_trace(
00903     const XrlError& e,
00904     XrlArgs*    a,
00905     TraceCB     cb
00906     );
00907 
00908     static void unmarshall_get_lsa(
00909     const XrlError& e,
00910     XrlArgs*    a,
00911     GetLsaCB        cb
00912     );
00913 
00914     static void unmarshall_get_area_list(
00915     const XrlError& e,
00916     XrlArgs*    a,
00917     GetAreaListCB       cb
00918     );
00919 
00920     static void unmarshall_get_neighbour_list(
00921     const XrlError& e,
00922     XrlArgs*    a,
00923     GetNeighbourListCB      cb
00924     );
00925 
00926     static void unmarshall_get_neighbour_info(
00927     const XrlError& e,
00928     XrlArgs*    a,
00929     GetNeighbourInfoCB      cb
00930     );
00931 
00932     static void unmarshall_clear_database(
00933     const XrlError& e,
00934     XrlArgs*    a,
00935     ClearDatabaseCB     cb
00936     );
00937 
00938 private:
00939     /* Declare cached Xrl pointers */
00940     auto_ptr<Xrl> ap_xrl_set_router_id;
00941     auto_ptr<Xrl> ap_xrl_set_rfc1583_compatibility;
00942     auto_ptr<Xrl> ap_xrl_set_ip_router_alert;
00943     auto_ptr<Xrl> ap_xrl_create_area_router;
00944     auto_ptr<Xrl> ap_xrl_change_area_router_type;
00945     auto_ptr<Xrl> ap_xrl_destroy_area_router;
00946     auto_ptr<Xrl> ap_xrl_create_peer;
00947     auto_ptr<Xrl> ap_xrl_delete_peer;
00948     auto_ptr<Xrl> ap_xrl_set_peer_state;
00949     auto_ptr<Xrl> ap_xrl_add_neighbour;
00950     auto_ptr<Xrl> ap_xrl_remove_neighbour;
00951     auto_ptr<Xrl> ap_xrl_create_virtual_link;
00952     auto_ptr<Xrl> ap_xrl_delete_virtual_link;
00953     auto_ptr<Xrl> ap_xrl_transit_area_virtual_link;
00954     auto_ptr<Xrl> ap_xrl_set_interface_cost;
00955     auto_ptr<Xrl> ap_xrl_set_retransmit_interval;
00956     auto_ptr<Xrl> ap_xrl_set_inftransdelay;
00957     auto_ptr<Xrl> ap_xrl_set_router_priority;
00958     auto_ptr<Xrl> ap_xrl_set_hello_interval;
00959     auto_ptr<Xrl> ap_xrl_set_router_dead_interval;
00960     auto_ptr<Xrl> ap_xrl_set_simple_authentication_key;
00961     auto_ptr<Xrl> ap_xrl_delete_simple_authentication_key;
00962     auto_ptr<Xrl> ap_xrl_set_md5_authentication_key;
00963     auto_ptr<Xrl> ap_xrl_delete_md5_authentication_key;
00964     auto_ptr<Xrl> ap_xrl_set_passive;
00965     auto_ptr<Xrl> ap_xrl_originate_default_route;
00966     auto_ptr<Xrl> ap_xrl_stub_default_cost;
00967     auto_ptr<Xrl> ap_xrl_summaries;
00968     auto_ptr<Xrl> ap_xrl_area_range_add;
00969     auto_ptr<Xrl> ap_xrl_area_range_delete;
00970     auto_ptr<Xrl> ap_xrl_area_range_change_state;
00971     auto_ptr<Xrl> ap_xrl_trace;
00972     auto_ptr<Xrl> ap_xrl_get_lsa;
00973     auto_ptr<Xrl> ap_xrl_get_area_list;
00974     auto_ptr<Xrl> ap_xrl_get_neighbour_list;
00975     auto_ptr<Xrl> ap_xrl_get_neighbour_info;
00976     auto_ptr<Xrl> ap_xrl_clear_database;
00977 };
00978 
00979 #endif /* __XRL_INTERFACES_OSPFV2_XIF_HH__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations