xorp

ospfv3_xif.hh

00001 /*
00002  * obj/i686-pc-linux-gnu/xrl/interfaces/ospfv3_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_OSPFV3_XIF_HH__
00015 #define __XRL_INTERFACES_OSPFV3_XIF_HH__
00016 
00017 #undef XORP_LIBRARY_NAME
00018 #define XORP_LIBRARY_NAME "XifOspfv3"
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 XrlOspfv3V0p1Client {
00030 public:
00031     XrlOspfv3V0p1Client(XrlSender* s) : _sender(s) {}
00032     virtual ~XrlOspfv3V0p1Client() {}
00033 
00034     typedef XorpCallback1<void, const XrlError&>::RefPtr SetInstanceIdCB;
00042     bool send_set_instance_id(
00043     const char* dst_xrl_target_name,
00044     const uint32_t& id,
00045     const SetInstanceIdCB&  cb
00046     );
00047 
00048     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterIdCB;
00056     bool send_set_router_id(
00057     const char* dst_xrl_target_name,
00058     const IPv4& id,
00059     const SetRouterIdCB&    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 string&   type,
00151     const IPv4& area,
00152     const CreatePeerCB& cb
00153     );
00154 
00155     typedef XorpCallback1<void, const XrlError&>::RefPtr DeletePeerCB;
00163     bool send_delete_peer(
00164     const char* dst_xrl_target_name,
00165     const string&   ifname,
00166     const string&   vifname,
00167     const DeletePeerCB& cb
00168     );
00169 
00170     typedef XorpCallback1<void, const XrlError&>::RefPtr SetPeerStateCB;
00178     bool send_set_peer_state(
00179     const char* dst_xrl_target_name,
00180     const string&   ifname,
00181     const string&   vifname,
00182     const bool& enable,
00183     const SetPeerStateCB&   cb
00184     );
00185 
00186     typedef XorpCallback1<void, const XrlError&>::RefPtr AddAddressPeerCB;
00194     bool send_add_address_peer(
00195     const char* dst_xrl_target_name,
00196     const string&   ifname,
00197     const string&   vifname,
00198     const IPv4& area,
00199     const IPv6& addr,
00200     const AddAddressPeerCB& cb
00201     );
00202 
00203     typedef XorpCallback1<void, const XrlError&>::RefPtr RemoveAddressPeerCB;
00211     bool send_remove_address_peer(
00212     const char* dst_xrl_target_name,
00213     const string&   ifname,
00214     const string&   vifname,
00215     const IPv4& area,
00216     const IPv6& addr,
00217     const RemoveAddressPeerCB&  cb
00218     );
00219 
00220     typedef XorpCallback1<void, const XrlError&>::RefPtr SetAddressStatePeerCB;
00228     bool send_set_address_state_peer(
00229     const char* dst_xrl_target_name,
00230     const string&   ifname,
00231     const string&   vifname,
00232     const IPv4& area,
00233     const IPv6& addr,
00234     const bool& enable,
00235     const SetAddressStatePeerCB&    cb
00236     );
00237 
00238     typedef XorpCallback1<void, const XrlError&>::RefPtr ActivatePeerCB;
00247     bool send_activate_peer(
00248     const char* dst_xrl_target_name,
00249     const string&   ifname,
00250     const string&   vifname,
00251     const IPv4& area,
00252     const ActivatePeerCB&   cb
00253     );
00254 
00255     typedef XorpCallback1<void, const XrlError&>::RefPtr UpdatePeerCB;
00263     bool send_update_peer(
00264     const char* dst_xrl_target_name,
00265     const string&   ifname,
00266     const string&   vifname,
00267     const IPv4& area,
00268     const UpdatePeerCB& cb
00269     );
00270 
00271     typedef XorpCallback1<void, const XrlError&>::RefPtr AddNeighbourCB;
00279     bool send_add_neighbour(
00280     const char* dst_xrl_target_name,
00281     const string&   ifname,
00282     const string&   vifname,
00283     const IPv4& area,
00284     const IPv6& neighbour_address,
00285     const IPv4& neighbour_id,
00286     const AddNeighbourCB&   cb
00287     );
00288 
00289     typedef XorpCallback1<void, const XrlError&>::RefPtr RemoveNeighbourCB;
00297     bool send_remove_neighbour(
00298     const char* dst_xrl_target_name,
00299     const string&   ifname,
00300     const string&   vifname,
00301     const IPv4& area,
00302     const IPv6& neighbour_address,
00303     const IPv4& neighbour_id,
00304     const RemoveNeighbourCB&    cb
00305     );
00306 
00307     typedef XorpCallback1<void, const XrlError&>::RefPtr CreateVirtualLinkCB;
00321     bool send_create_virtual_link(
00322     const char* dst_xrl_target_name,
00323     const IPv4& neighbour_id,
00324     const IPv4& area,
00325     const CreateVirtualLinkCB&  cb
00326     );
00327 
00328     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteVirtualLinkCB;
00338     bool send_delete_virtual_link(
00339     const char* dst_xrl_target_name,
00340     const IPv4& neighbour_id,
00341     const DeleteVirtualLinkCB&  cb
00342     );
00343 
00344     typedef XorpCallback1<void, const XrlError&>::RefPtr TransitAreaVirtualLinkCB;
00356     bool send_transit_area_virtual_link(
00357     const char* dst_xrl_target_name,
00358     const IPv4& neighbour_id,
00359     const IPv4& transit_area,
00360     const TransitAreaVirtualLinkCB& cb
00361     );
00362 
00363     typedef XorpCallback1<void, const XrlError&>::RefPtr SetInterfaceCostCB;
00371     bool send_set_interface_cost(
00372     const char* dst_xrl_target_name,
00373     const string&   ifname,
00374     const string&   vifname,
00375     const IPv4& area,
00376     const uint32_t& cost,
00377     const SetInterfaceCostCB&   cb
00378     );
00379 
00380     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRetransmitIntervalCB;
00394     bool send_set_retransmit_interval(
00395     const char* dst_xrl_target_name,
00396     const string&   ifname,
00397     const string&   vifname,
00398     const IPv4& area,
00399     const uint32_t& interval,
00400     const SetRetransmitIntervalCB&  cb
00401     );
00402 
00403     typedef XorpCallback1<void, const XrlError&>::RefPtr SetInftransdelayCB;
00415     bool send_set_inftransdelay(
00416     const char* dst_xrl_target_name,
00417     const string&   ifname,
00418     const string&   vifname,
00419     const IPv4& area,
00420     const uint32_t& delay,
00421     const SetInftransdelayCB&   cb
00422     );
00423 
00424     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterPriorityCB;
00432     bool send_set_router_priority(
00433     const char* dst_xrl_target_name,
00434     const string&   ifname,
00435     const string&   vifname,
00436     const IPv4& area,
00437     const uint32_t& priority,
00438     const SetRouterPriorityCB&  cb
00439     );
00440 
00441     typedef XorpCallback1<void, const XrlError&>::RefPtr SetHelloIntervalCB;
00449     bool send_set_hello_interval(
00450     const char* dst_xrl_target_name,
00451     const string&   ifname,
00452     const string&   vifname,
00453     const IPv4& area,
00454     const uint32_t& interval,
00455     const SetHelloIntervalCB&   cb
00456     );
00457 
00458     typedef XorpCallback1<void, const XrlError&>::RefPtr SetRouterDeadIntervalCB;
00466     bool send_set_router_dead_interval(
00467     const char* dst_xrl_target_name,
00468     const string&   ifname,
00469     const string&   vifname,
00470     const IPv4& area,
00471     const uint32_t& interval,
00472     const SetRouterDeadIntervalCB&  cb
00473     );
00474 
00475     typedef XorpCallback1<void, const XrlError&>::RefPtr SetPassiveCB;
00483     bool send_set_passive(
00484     const char* dst_xrl_target_name,
00485     const string&   ifname,
00486     const string&   vifname,
00487     const IPv4& area,
00488     const bool& passive,
00489     const SetPassiveCB& cb
00490     );
00491 
00492     typedef XorpCallback1<void, const XrlError&>::RefPtr OriginateDefaultRouteCB;
00501     bool send_originate_default_route(
00502     const char* dst_xrl_target_name,
00503     const IPv4& area,
00504     const bool& enable,
00505     const OriginateDefaultRouteCB&  cb
00506     );
00507 
00508     typedef XorpCallback1<void, const XrlError&>::RefPtr StubDefaultCostCB;
00517     bool send_stub_default_cost(
00518     const char* dst_xrl_target_name,
00519     const IPv4& area,
00520     const uint32_t& cost,
00521     const StubDefaultCostCB&    cb
00522     );
00523 
00524     typedef XorpCallback1<void, const XrlError&>::RefPtr SummariesCB;
00532     bool send_summaries(
00533     const char* dst_xrl_target_name,
00534     const IPv4& area,
00535     const bool& enable,
00536     const SummariesCB&  cb
00537     );
00538 
00539     typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeAddCB;
00547     bool send_area_range_add(
00548     const char* dst_xrl_target_name,
00549     const IPv4& area,
00550     const IPv6Net&  net,
00551     const bool& advertise,
00552     const AreaRangeAddCB&   cb
00553     );
00554 
00555     typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeDeleteCB;
00563     bool send_area_range_delete(
00564     const char* dst_xrl_target_name,
00565     const IPv4& area,
00566     const IPv6Net&  net,
00567     const AreaRangeDeleteCB&    cb
00568     );
00569 
00570     typedef XorpCallback1<void, const XrlError&>::RefPtr AreaRangeChangeStateCB;
00578     bool send_area_range_change_state(
00579     const char* dst_xrl_target_name,
00580     const IPv4& area,
00581     const IPv6Net&  net,
00582     const bool& advertise,
00583     const AreaRangeChangeStateCB&   cb
00584     );
00585 
00586     typedef XorpCallback1<void, const XrlError&>::RefPtr TraceCB;
00598     bool send_trace(
00599     const char* dst_xrl_target_name,
00600     const string&   tvar,
00601     const bool& enable,
00602     const TraceCB&  cb
00603     );
00604 
00605     typedef XorpCallback5<void, const XrlError&, const bool*, const bool*, const bool*, const vector<uint8_t>*>::RefPtr GetLsaCB;
00619     bool send_get_lsa(
00620     const char* dst_xrl_target_name,
00621     const IPv4& area,
00622     const uint32_t& index,
00623     const GetLsaCB& cb
00624     );
00625 
00626     typedef XorpCallback2<void, const XrlError&, const XrlAtomList*>::RefPtr GetAreaListCB;
00635     bool send_get_area_list(
00636     const char* dst_xrl_target_name,
00637     const GetAreaListCB&    cb
00638     );
00639 
00640     typedef XorpCallback2<void, const XrlError&, const XrlAtomList*>::RefPtr GetNeighbourListCB;
00650     bool send_get_neighbour_list(
00651     const char* dst_xrl_target_name,
00652     const GetNeighbourListCB&   cb
00653     );
00654 
00655     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;
00665     bool send_get_neighbour_info(
00666     const char* dst_xrl_target_name,
00667     const uint32_t& nid,
00668     const GetNeighbourInfoCB&   cb
00669     );
00670 
00671     typedef XorpCallback1<void, const XrlError&>::RefPtr ClearDatabaseCB;
00679     bool send_clear_database(
00680     const char* dst_xrl_target_name,
00681     const ClearDatabaseCB&  cb
00682     );
00683 
00684 protected:
00685     XrlSender* _sender;
00686 
00687 private:
00688     static void unmarshall_set_instance_id(
00689     const XrlError& e,
00690     XrlArgs*    a,
00691     SetInstanceIdCB     cb
00692     );
00693 
00694     static void unmarshall_set_router_id(
00695     const XrlError& e,
00696     XrlArgs*    a,
00697     SetRouterIdCB       cb
00698     );
00699 
00700     static void unmarshall_set_ip_router_alert(
00701     const XrlError& e,
00702     XrlArgs*    a,
00703     SetIpRouterAlertCB      cb
00704     );
00705 
00706     static void unmarshall_create_area_router(
00707     const XrlError& e,
00708     XrlArgs*    a,
00709     CreateAreaRouterCB      cb
00710     );
00711 
00712     static void unmarshall_change_area_router_type(
00713     const XrlError& e,
00714     XrlArgs*    a,
00715     ChangeAreaRouterTypeCB      cb
00716     );
00717 
00718     static void unmarshall_destroy_area_router(
00719     const XrlError& e,
00720     XrlArgs*    a,
00721     DestroyAreaRouterCB     cb
00722     );
00723 
00724     static void unmarshall_create_peer(
00725     const XrlError& e,
00726     XrlArgs*    a,
00727     CreatePeerCB        cb
00728     );
00729 
00730     static void unmarshall_delete_peer(
00731     const XrlError& e,
00732     XrlArgs*    a,
00733     DeletePeerCB        cb
00734     );
00735 
00736     static void unmarshall_set_peer_state(
00737     const XrlError& e,
00738     XrlArgs*    a,
00739     SetPeerStateCB      cb
00740     );
00741 
00742     static void unmarshall_add_address_peer(
00743     const XrlError& e,
00744     XrlArgs*    a,
00745     AddAddressPeerCB        cb
00746     );
00747 
00748     static void unmarshall_remove_address_peer(
00749     const XrlError& e,
00750     XrlArgs*    a,
00751     RemoveAddressPeerCB     cb
00752     );
00753 
00754     static void unmarshall_set_address_state_peer(
00755     const XrlError& e,
00756     XrlArgs*    a,
00757     SetAddressStatePeerCB       cb
00758     );
00759 
00760     static void unmarshall_activate_peer(
00761     const XrlError& e,
00762     XrlArgs*    a,
00763     ActivatePeerCB      cb
00764     );
00765 
00766     static void unmarshall_update_peer(
00767     const XrlError& e,
00768     XrlArgs*    a,
00769     UpdatePeerCB        cb
00770     );
00771 
00772     static void unmarshall_add_neighbour(
00773     const XrlError& e,
00774     XrlArgs*    a,
00775     AddNeighbourCB      cb
00776     );
00777 
00778     static void unmarshall_remove_neighbour(
00779     const XrlError& e,
00780     XrlArgs*    a,
00781     RemoveNeighbourCB       cb
00782     );
00783 
00784     static void unmarshall_create_virtual_link(
00785     const XrlError& e,
00786     XrlArgs*    a,
00787     CreateVirtualLinkCB     cb
00788     );
00789 
00790     static void unmarshall_delete_virtual_link(
00791     const XrlError& e,
00792     XrlArgs*    a,
00793     DeleteVirtualLinkCB     cb
00794     );
00795 
00796     static void unmarshall_transit_area_virtual_link(
00797     const XrlError& e,
00798     XrlArgs*    a,
00799     TransitAreaVirtualLinkCB        cb
00800     );
00801 
00802     static void unmarshall_set_interface_cost(
00803     const XrlError& e,
00804     XrlArgs*    a,
00805     SetInterfaceCostCB      cb
00806     );
00807 
00808     static void unmarshall_set_retransmit_interval(
00809     const XrlError& e,
00810     XrlArgs*    a,
00811     SetRetransmitIntervalCB     cb
00812     );
00813 
00814     static void unmarshall_set_inftransdelay(
00815     const XrlError& e,
00816     XrlArgs*    a,
00817     SetInftransdelayCB      cb
00818     );
00819 
00820     static void unmarshall_set_router_priority(
00821     const XrlError& e,
00822     XrlArgs*    a,
00823     SetRouterPriorityCB     cb
00824     );
00825 
00826     static void unmarshall_set_hello_interval(
00827     const XrlError& e,
00828     XrlArgs*    a,
00829     SetHelloIntervalCB      cb
00830     );
00831 
00832     static void unmarshall_set_router_dead_interval(
00833     const XrlError& e,
00834     XrlArgs*    a,
00835     SetRouterDeadIntervalCB     cb
00836     );
00837 
00838     static void unmarshall_set_passive(
00839     const XrlError& e,
00840     XrlArgs*    a,
00841     SetPassiveCB        cb
00842     );
00843 
00844     static void unmarshall_originate_default_route(
00845     const XrlError& e,
00846     XrlArgs*    a,
00847     OriginateDefaultRouteCB     cb
00848     );
00849 
00850     static void unmarshall_stub_default_cost(
00851     const XrlError& e,
00852     XrlArgs*    a,
00853     StubDefaultCostCB       cb
00854     );
00855 
00856     static void unmarshall_summaries(
00857     const XrlError& e,
00858     XrlArgs*    a,
00859     SummariesCB     cb
00860     );
00861 
00862     static void unmarshall_area_range_add(
00863     const XrlError& e,
00864     XrlArgs*    a,
00865     AreaRangeAddCB      cb
00866     );
00867 
00868     static void unmarshall_area_range_delete(
00869     const XrlError& e,
00870     XrlArgs*    a,
00871     AreaRangeDeleteCB       cb
00872     );
00873 
00874     static void unmarshall_area_range_change_state(
00875     const XrlError& e,
00876     XrlArgs*    a,
00877     AreaRangeChangeStateCB      cb
00878     );
00879 
00880     static void unmarshall_trace(
00881     const XrlError& e,
00882     XrlArgs*    a,
00883     TraceCB     cb
00884     );
00885 
00886     static void unmarshall_get_lsa(
00887     const XrlError& e,
00888     XrlArgs*    a,
00889     GetLsaCB        cb
00890     );
00891 
00892     static void unmarshall_get_area_list(
00893     const XrlError& e,
00894     XrlArgs*    a,
00895     GetAreaListCB       cb
00896     );
00897 
00898     static void unmarshall_get_neighbour_list(
00899     const XrlError& e,
00900     XrlArgs*    a,
00901     GetNeighbourListCB      cb
00902     );
00903 
00904     static void unmarshall_get_neighbour_info(
00905     const XrlError& e,
00906     XrlArgs*    a,
00907     GetNeighbourInfoCB      cb
00908     );
00909 
00910     static void unmarshall_clear_database(
00911     const XrlError& e,
00912     XrlArgs*    a,
00913     ClearDatabaseCB     cb
00914     );
00915 
00916 private:
00917     /* Declare cached Xrl pointers */
00918     auto_ptr<Xrl> ap_xrl_set_instance_id;
00919     auto_ptr<Xrl> ap_xrl_set_router_id;
00920     auto_ptr<Xrl> ap_xrl_set_ip_router_alert;
00921     auto_ptr<Xrl> ap_xrl_create_area_router;
00922     auto_ptr<Xrl> ap_xrl_change_area_router_type;
00923     auto_ptr<Xrl> ap_xrl_destroy_area_router;
00924     auto_ptr<Xrl> ap_xrl_create_peer;
00925     auto_ptr<Xrl> ap_xrl_delete_peer;
00926     auto_ptr<Xrl> ap_xrl_set_peer_state;
00927     auto_ptr<Xrl> ap_xrl_add_address_peer;
00928     auto_ptr<Xrl> ap_xrl_remove_address_peer;
00929     auto_ptr<Xrl> ap_xrl_set_address_state_peer;
00930     auto_ptr<Xrl> ap_xrl_activate_peer;
00931     auto_ptr<Xrl> ap_xrl_update_peer;
00932     auto_ptr<Xrl> ap_xrl_add_neighbour;
00933     auto_ptr<Xrl> ap_xrl_remove_neighbour;
00934     auto_ptr<Xrl> ap_xrl_create_virtual_link;
00935     auto_ptr<Xrl> ap_xrl_delete_virtual_link;
00936     auto_ptr<Xrl> ap_xrl_transit_area_virtual_link;
00937     auto_ptr<Xrl> ap_xrl_set_interface_cost;
00938     auto_ptr<Xrl> ap_xrl_set_retransmit_interval;
00939     auto_ptr<Xrl> ap_xrl_set_inftransdelay;
00940     auto_ptr<Xrl> ap_xrl_set_router_priority;
00941     auto_ptr<Xrl> ap_xrl_set_hello_interval;
00942     auto_ptr<Xrl> ap_xrl_set_router_dead_interval;
00943     auto_ptr<Xrl> ap_xrl_set_passive;
00944     auto_ptr<Xrl> ap_xrl_originate_default_route;
00945     auto_ptr<Xrl> ap_xrl_stub_default_cost;
00946     auto_ptr<Xrl> ap_xrl_summaries;
00947     auto_ptr<Xrl> ap_xrl_area_range_add;
00948     auto_ptr<Xrl> ap_xrl_area_range_delete;
00949     auto_ptr<Xrl> ap_xrl_area_range_change_state;
00950     auto_ptr<Xrl> ap_xrl_trace;
00951     auto_ptr<Xrl> ap_xrl_get_lsa;
00952     auto_ptr<Xrl> ap_xrl_get_area_list;
00953     auto_ptr<Xrl> ap_xrl_get_neighbour_list;
00954     auto_ptr<Xrl> ap_xrl_get_neighbour_info;
00955     auto_ptr<Xrl> ap_xrl_clear_database;
00956 };
00957 
00958 #endif /* __XRL_INTERFACES_OSPFV3_XIF_HH__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations