xorp

ospfv3_base.hh

00001 /*
00002  * obj/i686-pc-linux-gnu/xrl/targets/ospfv3_base.hh
00003  * vim:set sts=4 ts=8 ft=cpp:
00004  *
00005  * Copyright (c) 2001-2011 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 'tgt-gen'.
00012  */
00013 
00014 
00015 #ifndef __XRL_TARGETS_OSPFV3_BASE_HH__
00016 #define __XRL_TARGETS_OSPFV3_BASE_HH__
00017 
00018 #undef XORP_LIBRARY_NAME
00019 #define XORP_LIBRARY_NAME "XrlOspfv3Target"
00020 
00021 #include "libxorp/xlog.h"
00022 #include "libxipc/xrl_cmd_map.hh"
00023 
00024 class XrlOspfv3TargetBase {
00025 protected:
00026     XrlCmdMap* _cmds;
00027 
00028 public:
00036     XrlOspfv3TargetBase(XrlCmdMap* cmds = 0);
00037 
00043     virtual ~XrlOspfv3TargetBase();
00044 
00055     bool set_command_map(XrlCmdMap* cmds);
00056 
00060     const string& get_name() const { return _cmds->name(); }
00061 
00065     const char* version() const { return "ospfv3/0.0"; }
00066 
00067 protected:
00068 
00074     virtual XrlCmdError common_0_1_get_target_name(
00075     // Output values,
00076     string& name) = 0;
00077 #ifdef XORP_ENABLE_ASYNC_SERVER
00078     typedef
00079     XorpCallback2<void, const XrlCmdError &,
00080     const string*>::RefPtr
00081     Common01GetTargetNameRF;
00082 
00083     class Common01GetTargetNameCB {
00084         Common01GetTargetNameRF cb;
00085 
00086     public:
00087         operator const Common01GetTargetNameRF& () const { return cb; }
00088         const Common01GetTargetNameRF& operator ->() const { return cb; }
00089         Common01GetTargetNameCB(const Common01GetTargetNameRF& cb)
00090           : cb(cb) { }
00091 
00092         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); }
00093 
00094         void respond(const string& arg_name) const {
00095             cb->dispatch(XrlCmdError::OKAY(),
00096                          &arg_name);
00097         }
00098     };
00099 
00100     struct Common01GetTargetNameRsp :
00101       public Common01GetTargetNameCB {
00102         struct args_str {
00103             string name;
00104         };
00105 
00106     private:
00107         args_str args;
00108 
00109     public:
00110         Common01GetTargetNameRsp(const Common01GetTargetNameRF& cb)
00111           : Common01GetTargetNameCB(cb) { }
00112 
00113         void respond() const {
00114             Common01GetTargetNameCB::
00115             respond(args.name);
00116         }
00117 
00118         args_str* operator ->() {
00119             return &args;
00120         }
00121     };
00122 
00123     virtual void async_common_0_1_get_target_name
00124        (
00125     Common01GetTargetNameCB);
00126 #endif
00127 
00133     virtual XrlCmdError common_0_1_get_version(
00134     // Output values,
00135     string& version) = 0;
00136 #ifdef XORP_ENABLE_ASYNC_SERVER
00137     typedef
00138     XorpCallback2<void, const XrlCmdError &,
00139     const string*>::RefPtr
00140     Common01GetVersionRF;
00141 
00142     class Common01GetVersionCB {
00143         Common01GetVersionRF cb;
00144 
00145     public:
00146         operator const Common01GetVersionRF& () const { return cb; }
00147         const Common01GetVersionRF& operator ->() const { return cb; }
00148         Common01GetVersionCB(const Common01GetVersionRF& cb)
00149           : cb(cb) { }
00150 
00151         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); }
00152 
00153         void respond(const string& arg_version) const {
00154             cb->dispatch(XrlCmdError::OKAY(),
00155                          &arg_version);
00156         }
00157     };
00158 
00159     struct Common01GetVersionRsp :
00160       public Common01GetVersionCB {
00161         struct args_str {
00162             string version;
00163         };
00164 
00165     private:
00166         args_str args;
00167 
00168     public:
00169         Common01GetVersionRsp(const Common01GetVersionRF& cb)
00170           : Common01GetVersionCB(cb) { }
00171 
00172         void respond() const {
00173             Common01GetVersionCB::
00174             respond(args.version);
00175         }
00176 
00177         args_str* operator ->() {
00178             return &args;
00179         }
00180     };
00181 
00182     virtual void async_common_0_1_get_version
00183        (
00184     Common01GetVersionCB);
00185 #endif
00186 
00192     virtual XrlCmdError common_0_1_get_status(
00193     // Output values,
00194     uint32_t&   status,
00195     string& reason) = 0;
00196 #ifdef XORP_ENABLE_ASYNC_SERVER
00197     typedef
00198     XorpCallback3<void, const XrlCmdError &,
00199     const uint32_t*,
00200     const string*>::RefPtr
00201     Common01GetStatusRF;
00202 
00203     class Common01GetStatusCB {
00204         Common01GetStatusRF cb;
00205 
00206     public:
00207         operator const Common01GetStatusRF& () const { return cb; }
00208         const Common01GetStatusRF& operator ->() const { return cb; }
00209         Common01GetStatusCB(const Common01GetStatusRF& cb)
00210           : cb(cb) { }
00211 
00212         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL); }
00213 
00214         void respond(const uint32_t& arg_status,
00215                      const string& arg_reason) const {
00216             cb->dispatch(XrlCmdError::OKAY(),
00217                          &arg_status,
00218                          &arg_reason);
00219         }
00220     };
00221 
00222     struct Common01GetStatusRsp :
00223       public Common01GetStatusCB {
00224         struct args_str {
00225             uint32_t status;
00226             string reason;
00227         };
00228 
00229     private:
00230         args_str args;
00231 
00232     public:
00233         Common01GetStatusRsp(const Common01GetStatusRF& cb)
00234           : Common01GetStatusCB(cb) { }
00235 
00236         void respond() const {
00237             Common01GetStatusCB::
00238             respond(args.status,
00239                         args.reason);
00240         }
00241 
00242         args_str* operator ->() {
00243             return &args;
00244         }
00245     };
00246 
00247     virtual void async_common_0_1_get_status
00248        (
00249     Common01GetStatusCB);
00250 #endif
00251 
00257     virtual XrlCmdError common_0_1_shutdown() = 0;
00258 #ifdef XORP_ENABLE_ASYNC_SERVER
00259     typedef
00260     XorpCallback1<void, const XrlCmdError &>::RefPtr
00261     Common01ShutdownRF;
00262 
00263     class Common01ShutdownCB {
00264         Common01ShutdownRF cb;
00265 
00266     public:
00267         operator const Common01ShutdownRF& () const { return cb; }
00268         const Common01ShutdownRF& operator ->() const { return cb; }
00269         Common01ShutdownCB(const Common01ShutdownRF& cb)
00270           : cb(cb) { }
00271 
00272         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00273 
00274         void respond() const {
00275             cb->dispatch(XrlCmdError::OKAY());
00276         }
00277     };
00278 
00279     struct Common01ShutdownRsp :
00280       public Common01ShutdownCB {
00281         Common01ShutdownRsp(const Common01ShutdownRF& cb)
00282           : Common01ShutdownCB(cb) { }
00283 
00284     };
00285 
00286     virtual void async_common_0_1_shutdown
00287        (
00288     Common01ShutdownCB);
00289 #endif
00290 
00296     virtual XrlCmdError common_0_1_startup() = 0;
00297 #ifdef XORP_ENABLE_ASYNC_SERVER
00298     typedef
00299     XorpCallback1<void, const XrlCmdError &>::RefPtr
00300     Common01StartupRF;
00301 
00302     class Common01StartupCB {
00303         Common01StartupRF cb;
00304 
00305     public:
00306         operator const Common01StartupRF& () const { return cb; }
00307         const Common01StartupRF& operator ->() const { return cb; }
00308         Common01StartupCB(const Common01StartupRF& cb)
00309           : cb(cb) { }
00310 
00311         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00312 
00313         void respond() const {
00314             cb->dispatch(XrlCmdError::OKAY());
00315         }
00316     };
00317 
00318     struct Common01StartupRsp :
00319       public Common01StartupCB {
00320         Common01StartupRsp(const Common01StartupRF& cb)
00321           : Common01StartupCB(cb) { }
00322 
00323     };
00324 
00325     virtual void async_common_0_1_startup
00326        (
00327     Common01StartupCB);
00328 #endif
00329 
00358     virtual XrlCmdError raw_packet4_client_0_1_recv(
00359     // Input values,
00360     const string&   if_name,
00361     const string&   vif_name,
00362     const IPv4& src_address,
00363     const IPv4& dst_address,
00364     const uint32_t& ip_protocol,
00365     const int32_t&  ip_ttl,
00366     const int32_t&  ip_tos,
00367     const bool& ip_router_alert,
00368     const bool& ip_internet_control,
00369     const vector<uint8_t>&  payload) = 0;
00370 #ifdef XORP_ENABLE_ASYNC_SERVER
00371     typedef
00372     XorpCallback1<void, const XrlCmdError &>::RefPtr
00373     RawPacket4Client01RecvRF;
00374 
00375     class RawPacket4Client01RecvCB {
00376         RawPacket4Client01RecvRF cb;
00377 
00378     public:
00379         operator const RawPacket4Client01RecvRF& () const { return cb; }
00380         const RawPacket4Client01RecvRF& operator ->() const { return cb; }
00381         RawPacket4Client01RecvCB(const RawPacket4Client01RecvRF& cb)
00382           : cb(cb) { }
00383 
00384         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00385 
00386         void respond() const {
00387             cb->dispatch(XrlCmdError::OKAY());
00388         }
00389     };
00390 
00391     struct RawPacket4Client01RecvRsp :
00392       public RawPacket4Client01RecvCB {
00393         RawPacket4Client01RecvRsp(const RawPacket4Client01RecvRF& cb)
00394           : RawPacket4Client01RecvCB(cb) { }
00395 
00396     };
00397 
00398     virtual void async_raw_packet4_client_0_1_recv
00399        (
00400     const string&   if_name,
00401     const string&   vif_name,
00402     const IPv4& src_address,
00403     const IPv4& dst_address,
00404     const uint32_t& ip_protocol,
00405     const int32_t&  ip_ttl,
00406     const int32_t&  ip_tos,
00407     const bool& ip_router_alert,
00408     const bool& ip_internet_control,
00409     const vector<uint8_t>&  payload,
00410     RawPacket4Client01RecvCB);
00411 #endif
00412 
00448     virtual XrlCmdError raw_packet6_client_0_1_recv(
00449     // Input values,
00450     const string&   if_name,
00451     const string&   vif_name,
00452     const IPv6& src_address,
00453     const IPv6& dst_address,
00454     const uint32_t& ip_protocol,
00455     const int32_t&  ip_ttl,
00456     const int32_t&  ip_tos,
00457     const bool& ip_router_alert,
00458     const bool& ip_internet_control,
00459     const XrlAtomList&  ext_headers_type,
00460     const XrlAtomList&  ext_headers_payload,
00461     const vector<uint8_t>&  payload) = 0;
00462 #ifdef XORP_ENABLE_ASYNC_SERVER
00463     typedef
00464     XorpCallback1<void, const XrlCmdError &>::RefPtr
00465     RawPacket6Client01RecvRF;
00466 
00467     class RawPacket6Client01RecvCB {
00468         RawPacket6Client01RecvRF cb;
00469 
00470     public:
00471         operator const RawPacket6Client01RecvRF& () const { return cb; }
00472         const RawPacket6Client01RecvRF& operator ->() const { return cb; }
00473         RawPacket6Client01RecvCB(const RawPacket6Client01RecvRF& cb)
00474           : cb(cb) { }
00475 
00476         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00477 
00478         void respond() const {
00479             cb->dispatch(XrlCmdError::OKAY());
00480         }
00481     };
00482 
00483     struct RawPacket6Client01RecvRsp :
00484       public RawPacket6Client01RecvCB {
00485         RawPacket6Client01RecvRsp(const RawPacket6Client01RecvRF& cb)
00486           : RawPacket6Client01RecvCB(cb) { }
00487 
00488     };
00489 
00490     virtual void async_raw_packet6_client_0_1_recv
00491        (
00492     const string&   if_name,
00493     const string&   vif_name,
00494     const IPv6& src_address,
00495     const IPv6& dst_address,
00496     const uint32_t& ip_protocol,
00497     const int32_t&  ip_ttl,
00498     const int32_t&  ip_tos,
00499     const bool& ip_router_alert,
00500     const bool& ip_internet_control,
00501     const XrlAtomList&  ext_headers_type,
00502     const XrlAtomList&  ext_headers_payload,
00503     const vector<uint8_t>&  payload,
00504     RawPacket6Client01RecvCB);
00505 #endif
00506 
00516     virtual XrlCmdError policy_backend_0_1_configure(
00517     // Input values,
00518     const uint32_t& filter,
00519     const string&   conf) = 0;
00520 #ifdef XORP_ENABLE_ASYNC_SERVER
00521     typedef
00522     XorpCallback1<void, const XrlCmdError &>::RefPtr
00523     PolicyBackend01ConfigureRF;
00524 
00525     class PolicyBackend01ConfigureCB {
00526         PolicyBackend01ConfigureRF cb;
00527 
00528     public:
00529         operator const PolicyBackend01ConfigureRF& () const { return cb; }
00530         const PolicyBackend01ConfigureRF& operator ->() const { return cb; }
00531         PolicyBackend01ConfigureCB(const PolicyBackend01ConfigureRF& cb)
00532           : cb(cb) { }
00533 
00534         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00535 
00536         void respond() const {
00537             cb->dispatch(XrlCmdError::OKAY());
00538         }
00539     };
00540 
00541     struct PolicyBackend01ConfigureRsp :
00542       public PolicyBackend01ConfigureCB {
00543         PolicyBackend01ConfigureRsp(const PolicyBackend01ConfigureRF& cb)
00544           : PolicyBackend01ConfigureCB(cb) { }
00545 
00546     };
00547 
00548     virtual void async_policy_backend_0_1_configure
00549        (
00550     const uint32_t& filter,
00551     const string&   conf,
00552     PolicyBackend01ConfigureCB);
00553 #endif
00554 
00562     virtual XrlCmdError policy_backend_0_1_reset(
00563     // Input values,
00564     const uint32_t& filter) = 0;
00565 #ifdef XORP_ENABLE_ASYNC_SERVER
00566     typedef
00567     XorpCallback1<void, const XrlCmdError &>::RefPtr
00568     PolicyBackend01ResetRF;
00569 
00570     class PolicyBackend01ResetCB {
00571         PolicyBackend01ResetRF cb;
00572 
00573     public:
00574         operator const PolicyBackend01ResetRF& () const { return cb; }
00575         const PolicyBackend01ResetRF& operator ->() const { return cb; }
00576         PolicyBackend01ResetCB(const PolicyBackend01ResetRF& cb)
00577           : cb(cb) { }
00578 
00579         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00580 
00581         void respond() const {
00582             cb->dispatch(XrlCmdError::OKAY());
00583         }
00584     };
00585 
00586     struct PolicyBackend01ResetRsp :
00587       public PolicyBackend01ResetCB {
00588         PolicyBackend01ResetRsp(const PolicyBackend01ResetRF& cb)
00589           : PolicyBackend01ResetCB(cb) { }
00590 
00591     };
00592 
00593     virtual void async_policy_backend_0_1_reset
00594        (
00595     const uint32_t& filter,
00596     PolicyBackend01ResetCB);
00597 #endif
00598 
00604     virtual XrlCmdError policy_backend_0_1_push_routes() = 0;
00605 #ifdef XORP_ENABLE_ASYNC_SERVER
00606     typedef
00607     XorpCallback1<void, const XrlCmdError &>::RefPtr
00608     PolicyBackend01PushRoutesRF;
00609 
00610     class PolicyBackend01PushRoutesCB {
00611         PolicyBackend01PushRoutesRF cb;
00612 
00613     public:
00614         operator const PolicyBackend01PushRoutesRF& () const { return cb; }
00615         const PolicyBackend01PushRoutesRF& operator ->() const { return cb; }
00616         PolicyBackend01PushRoutesCB(const PolicyBackend01PushRoutesRF& cb)
00617           : cb(cb) { }
00618 
00619         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00620 
00621         void respond() const {
00622             cb->dispatch(XrlCmdError::OKAY());
00623         }
00624     };
00625 
00626     struct PolicyBackend01PushRoutesRsp :
00627       public PolicyBackend01PushRoutesCB {
00628         PolicyBackend01PushRoutesRsp(const PolicyBackend01PushRoutesRF& cb)
00629           : PolicyBackend01PushRoutesCB(cb) { }
00630 
00631     };
00632 
00633     virtual void async_policy_backend_0_1_push_routes
00634        (
00635     PolicyBackend01PushRoutesCB);
00636 #endif
00637 
00655     virtual XrlCmdError policy_redist6_0_1_add_route6(
00656     // Input values,
00657     const IPv6Net&  network,
00658     const bool& unicast,
00659     const bool& multicast,
00660     const IPv6& nexthop,
00661     const uint32_t& metric,
00662     const XrlAtomList&  policytags) = 0;
00663 #ifdef XORP_ENABLE_ASYNC_SERVER
00664     typedef
00665     XorpCallback1<void, const XrlCmdError &>::RefPtr
00666     PolicyRedist601AddRoute6RF;
00667 
00668     class PolicyRedist601AddRoute6CB {
00669         PolicyRedist601AddRoute6RF cb;
00670 
00671     public:
00672         operator const PolicyRedist601AddRoute6RF& () const { return cb; }
00673         const PolicyRedist601AddRoute6RF& operator ->() const { return cb; }
00674         PolicyRedist601AddRoute6CB(const PolicyRedist601AddRoute6RF& cb)
00675           : cb(cb) { }
00676 
00677         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00678 
00679         void respond() const {
00680             cb->dispatch(XrlCmdError::OKAY());
00681         }
00682     };
00683 
00684     struct PolicyRedist601AddRoute6Rsp :
00685       public PolicyRedist601AddRoute6CB {
00686         PolicyRedist601AddRoute6Rsp(const PolicyRedist601AddRoute6RF& cb)
00687           : PolicyRedist601AddRoute6CB(cb) { }
00688 
00689     };
00690 
00691     virtual void async_policy_redist6_0_1_add_route6
00692        (
00693     const IPv6Net&  network,
00694     const bool& unicast,
00695     const bool& multicast,
00696     const IPv6& nexthop,
00697     const uint32_t& metric,
00698     const XrlAtomList&  policytags,
00699     PolicyRedist601AddRoute6CB);
00700 #endif
00701 
00713     virtual XrlCmdError policy_redist6_0_1_delete_route6(
00714     // Input values,
00715     const IPv6Net&  network,
00716     const bool& unicast,
00717     const bool& multicast) = 0;
00718 #ifdef XORP_ENABLE_ASYNC_SERVER
00719     typedef
00720     XorpCallback1<void, const XrlCmdError &>::RefPtr
00721     PolicyRedist601DeleteRoute6RF;
00722 
00723     class PolicyRedist601DeleteRoute6CB {
00724         PolicyRedist601DeleteRoute6RF cb;
00725 
00726     public:
00727         operator const PolicyRedist601DeleteRoute6RF& () const { return cb; }
00728         const PolicyRedist601DeleteRoute6RF& operator ->() const { return cb; }
00729         PolicyRedist601DeleteRoute6CB(const PolicyRedist601DeleteRoute6RF& cb)
00730           : cb(cb) { }
00731 
00732         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00733 
00734         void respond() const {
00735             cb->dispatch(XrlCmdError::OKAY());
00736         }
00737     };
00738 
00739     struct PolicyRedist601DeleteRoute6Rsp :
00740       public PolicyRedist601DeleteRoute6CB {
00741         PolicyRedist601DeleteRoute6Rsp(const PolicyRedist601DeleteRoute6RF& cb)
00742           : PolicyRedist601DeleteRoute6CB(cb) { }
00743 
00744     };
00745 
00746     virtual void async_policy_redist6_0_1_delete_route6
00747        (
00748     const IPv6Net&  network,
00749     const bool& unicast,
00750     const bool& multicast,
00751     PolicyRedist601DeleteRoute6CB);
00752 #endif
00753 
00759     virtual XrlCmdError ospfv3_0_1_set_instance_id(
00760     // Input values,
00761     const uint32_t& id) = 0;
00762 #ifdef XORP_ENABLE_ASYNC_SERVER
00763     typedef
00764     XorpCallback1<void, const XrlCmdError &>::RefPtr
00765     Ospfv301SetInstanceIdRF;
00766 
00767     class Ospfv301SetInstanceIdCB {
00768         Ospfv301SetInstanceIdRF cb;
00769 
00770     public:
00771         operator const Ospfv301SetInstanceIdRF& () const { return cb; }
00772         const Ospfv301SetInstanceIdRF& operator ->() const { return cb; }
00773         Ospfv301SetInstanceIdCB(const Ospfv301SetInstanceIdRF& cb)
00774           : cb(cb) { }
00775 
00776         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00777 
00778         void respond() const {
00779             cb->dispatch(XrlCmdError::OKAY());
00780         }
00781     };
00782 
00783     struct Ospfv301SetInstanceIdRsp :
00784       public Ospfv301SetInstanceIdCB {
00785         Ospfv301SetInstanceIdRsp(const Ospfv301SetInstanceIdRF& cb)
00786           : Ospfv301SetInstanceIdCB(cb) { }
00787 
00788     };
00789 
00790     virtual void async_ospfv3_0_1_set_instance_id
00791        (
00792     const uint32_t& id,
00793     Ospfv301SetInstanceIdCB);
00794 #endif
00795 
00801     virtual XrlCmdError ospfv3_0_1_set_router_id(
00802     // Input values,
00803     const IPv4& id) = 0;
00804 #ifdef XORP_ENABLE_ASYNC_SERVER
00805     typedef
00806     XorpCallback1<void, const XrlCmdError &>::RefPtr
00807     Ospfv301SetRouterIdRF;
00808 
00809     class Ospfv301SetRouterIdCB {
00810         Ospfv301SetRouterIdRF cb;
00811 
00812     public:
00813         operator const Ospfv301SetRouterIdRF& () const { return cb; }
00814         const Ospfv301SetRouterIdRF& operator ->() const { return cb; }
00815         Ospfv301SetRouterIdCB(const Ospfv301SetRouterIdRF& cb)
00816           : cb(cb) { }
00817 
00818         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00819 
00820         void respond() const {
00821             cb->dispatch(XrlCmdError::OKAY());
00822         }
00823     };
00824 
00825     struct Ospfv301SetRouterIdRsp :
00826       public Ospfv301SetRouterIdCB {
00827         Ospfv301SetRouterIdRsp(const Ospfv301SetRouterIdRF& cb)
00828           : Ospfv301SetRouterIdCB(cb) { }
00829 
00830     };
00831 
00832     virtual void async_ospfv3_0_1_set_router_id
00833        (
00834     const IPv4& id,
00835     Ospfv301SetRouterIdCB);
00836 #endif
00837 
00843     virtual XrlCmdError ospfv3_0_1_set_ip_router_alert(
00844     // Input values,
00845     const bool& ip_router_alert) = 0;
00846 #ifdef XORP_ENABLE_ASYNC_SERVER
00847     typedef
00848     XorpCallback1<void, const XrlCmdError &>::RefPtr
00849     Ospfv301SetIpRouterAlertRF;
00850 
00851     class Ospfv301SetIpRouterAlertCB {
00852         Ospfv301SetIpRouterAlertRF cb;
00853 
00854     public:
00855         operator const Ospfv301SetIpRouterAlertRF& () const { return cb; }
00856         const Ospfv301SetIpRouterAlertRF& operator ->() const { return cb; }
00857         Ospfv301SetIpRouterAlertCB(const Ospfv301SetIpRouterAlertRF& cb)
00858           : cb(cb) { }
00859 
00860         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00861 
00862         void respond() const {
00863             cb->dispatch(XrlCmdError::OKAY());
00864         }
00865     };
00866 
00867     struct Ospfv301SetIpRouterAlertRsp :
00868       public Ospfv301SetIpRouterAlertCB {
00869         Ospfv301SetIpRouterAlertRsp(const Ospfv301SetIpRouterAlertRF& cb)
00870           : Ospfv301SetIpRouterAlertCB(cb) { }
00871 
00872     };
00873 
00874     virtual void async_ospfv3_0_1_set_ip_router_alert
00875        (
00876     const bool& ip_router_alert,
00877     Ospfv301SetIpRouterAlertCB);
00878 #endif
00879 
00889     virtual XrlCmdError ospfv3_0_1_create_area_router(
00890     // Input values,
00891     const IPv4& area,
00892     const string&   type) = 0;
00893 #ifdef XORP_ENABLE_ASYNC_SERVER
00894     typedef
00895     XorpCallback1<void, const XrlCmdError &>::RefPtr
00896     Ospfv301CreateAreaRouterRF;
00897 
00898     class Ospfv301CreateAreaRouterCB {
00899         Ospfv301CreateAreaRouterRF cb;
00900 
00901     public:
00902         operator const Ospfv301CreateAreaRouterRF& () const { return cb; }
00903         const Ospfv301CreateAreaRouterRF& operator ->() const { return cb; }
00904         Ospfv301CreateAreaRouterCB(const Ospfv301CreateAreaRouterRF& cb)
00905           : cb(cb) { }
00906 
00907         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00908 
00909         void respond() const {
00910             cb->dispatch(XrlCmdError::OKAY());
00911         }
00912     };
00913 
00914     struct Ospfv301CreateAreaRouterRsp :
00915       public Ospfv301CreateAreaRouterCB {
00916         Ospfv301CreateAreaRouterRsp(const Ospfv301CreateAreaRouterRF& cb)
00917           : Ospfv301CreateAreaRouterCB(cb) { }
00918 
00919     };
00920 
00921     virtual void async_ospfv3_0_1_create_area_router
00922        (
00923     const IPv4& area,
00924     const string&   type,
00925     Ospfv301CreateAreaRouterCB);
00926 #endif
00927 
00937     virtual XrlCmdError ospfv3_0_1_change_area_router_type(
00938     // Input values,
00939     const IPv4& area,
00940     const string&   type) = 0;
00941 #ifdef XORP_ENABLE_ASYNC_SERVER
00942     typedef
00943     XorpCallback1<void, const XrlCmdError &>::RefPtr
00944     Ospfv301ChangeAreaRouterTypeRF;
00945 
00946     class Ospfv301ChangeAreaRouterTypeCB {
00947         Ospfv301ChangeAreaRouterTypeRF cb;
00948 
00949     public:
00950         operator const Ospfv301ChangeAreaRouterTypeRF& () const { return cb; }
00951         const Ospfv301ChangeAreaRouterTypeRF& operator ->() const { return cb; }
00952         Ospfv301ChangeAreaRouterTypeCB(const Ospfv301ChangeAreaRouterTypeRF& cb)
00953           : cb(cb) { }
00954 
00955         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00956 
00957         void respond() const {
00958             cb->dispatch(XrlCmdError::OKAY());
00959         }
00960     };
00961 
00962     struct Ospfv301ChangeAreaRouterTypeRsp :
00963       public Ospfv301ChangeAreaRouterTypeCB {
00964         Ospfv301ChangeAreaRouterTypeRsp(const Ospfv301ChangeAreaRouterTypeRF& cb)
00965           : Ospfv301ChangeAreaRouterTypeCB(cb) { }
00966 
00967     };
00968 
00969     virtual void async_ospfv3_0_1_change_area_router_type
00970        (
00971     const IPv4& area,
00972     const string&   type,
00973     Ospfv301ChangeAreaRouterTypeCB);
00974 #endif
00975 
00983     virtual XrlCmdError ospfv3_0_1_destroy_area_router(
00984     // Input values,
00985     const IPv4& area) = 0;
00986 #ifdef XORP_ENABLE_ASYNC_SERVER
00987     typedef
00988     XorpCallback1<void, const XrlCmdError &>::RefPtr
00989     Ospfv301DestroyAreaRouterRF;
00990 
00991     class Ospfv301DestroyAreaRouterCB {
00992         Ospfv301DestroyAreaRouterRF cb;
00993 
00994     public:
00995         operator const Ospfv301DestroyAreaRouterRF& () const { return cb; }
00996         const Ospfv301DestroyAreaRouterRF& operator ->() const { return cb; }
00997         Ospfv301DestroyAreaRouterCB(const Ospfv301DestroyAreaRouterRF& cb)
00998           : cb(cb) { }
00999 
01000         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01001 
01002         void respond() const {
01003             cb->dispatch(XrlCmdError::OKAY());
01004         }
01005     };
01006 
01007     struct Ospfv301DestroyAreaRouterRsp :
01008       public Ospfv301DestroyAreaRouterCB {
01009         Ospfv301DestroyAreaRouterRsp(const Ospfv301DestroyAreaRouterRF& cb)
01010           : Ospfv301DestroyAreaRouterCB(cb) { }
01011 
01012     };
01013 
01014     virtual void async_ospfv3_0_1_destroy_area_router
01015        (
01016     const IPv4& area,
01017     Ospfv301DestroyAreaRouterCB);
01018 #endif
01019 
01033     virtual XrlCmdError ospfv3_0_1_create_peer(
01034     // Input values,
01035     const string&   ifname,
01036     const string&   vifname,
01037     const string&   type,
01038     const IPv4& area) = 0;
01039 #ifdef XORP_ENABLE_ASYNC_SERVER
01040     typedef
01041     XorpCallback1<void, const XrlCmdError &>::RefPtr
01042     Ospfv301CreatePeerRF;
01043 
01044     class Ospfv301CreatePeerCB {
01045         Ospfv301CreatePeerRF cb;
01046 
01047     public:
01048         operator const Ospfv301CreatePeerRF& () const { return cb; }
01049         const Ospfv301CreatePeerRF& operator ->() const { return cb; }
01050         Ospfv301CreatePeerCB(const Ospfv301CreatePeerRF& cb)
01051           : cb(cb) { }
01052 
01053         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01054 
01055         void respond() const {
01056             cb->dispatch(XrlCmdError::OKAY());
01057         }
01058     };
01059 
01060     struct Ospfv301CreatePeerRsp :
01061       public Ospfv301CreatePeerCB {
01062         Ospfv301CreatePeerRsp(const Ospfv301CreatePeerRF& cb)
01063           : Ospfv301CreatePeerCB(cb) { }
01064 
01065     };
01066 
01067     virtual void async_ospfv3_0_1_create_peer
01068        (
01069     const string&   ifname,
01070     const string&   vifname,
01071     const string&   type,
01072     const IPv4& area,
01073     Ospfv301CreatePeerCB);
01074 #endif
01075 
01081     virtual XrlCmdError ospfv3_0_1_delete_peer(
01082     // Input values,
01083     const string&   ifname,
01084     const string&   vifname) = 0;
01085 #ifdef XORP_ENABLE_ASYNC_SERVER
01086     typedef
01087     XorpCallback1<void, const XrlCmdError &>::RefPtr
01088     Ospfv301DeletePeerRF;
01089 
01090     class Ospfv301DeletePeerCB {
01091         Ospfv301DeletePeerRF cb;
01092 
01093     public:
01094         operator const Ospfv301DeletePeerRF& () const { return cb; }
01095         const Ospfv301DeletePeerRF& operator ->() const { return cb; }
01096         Ospfv301DeletePeerCB(const Ospfv301DeletePeerRF& cb)
01097           : cb(cb) { }
01098 
01099         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01100 
01101         void respond() const {
01102             cb->dispatch(XrlCmdError::OKAY());
01103         }
01104     };
01105 
01106     struct Ospfv301DeletePeerRsp :
01107       public Ospfv301DeletePeerCB {
01108         Ospfv301DeletePeerRsp(const Ospfv301DeletePeerRF& cb)
01109           : Ospfv301DeletePeerCB(cb) { }
01110 
01111     };
01112 
01113     virtual void async_ospfv3_0_1_delete_peer
01114        (
01115     const string&   ifname,
01116     const string&   vifname,
01117     Ospfv301DeletePeerCB);
01118 #endif
01119 
01125     virtual XrlCmdError ospfv3_0_1_set_peer_state(
01126     // Input values,
01127     const string&   ifname,
01128     const string&   vifname,
01129     const bool& enable) = 0;
01130 #ifdef XORP_ENABLE_ASYNC_SERVER
01131     typedef
01132     XorpCallback1<void, const XrlCmdError &>::RefPtr
01133     Ospfv301SetPeerStateRF;
01134 
01135     class Ospfv301SetPeerStateCB {
01136         Ospfv301SetPeerStateRF cb;
01137 
01138     public:
01139         operator const Ospfv301SetPeerStateRF& () const { return cb; }
01140         const Ospfv301SetPeerStateRF& operator ->() const { return cb; }
01141         Ospfv301SetPeerStateCB(const Ospfv301SetPeerStateRF& cb)
01142           : cb(cb) { }
01143 
01144         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01145 
01146         void respond() const {
01147             cb->dispatch(XrlCmdError::OKAY());
01148         }
01149     };
01150 
01151     struct Ospfv301SetPeerStateRsp :
01152       public Ospfv301SetPeerStateCB {
01153         Ospfv301SetPeerStateRsp(const Ospfv301SetPeerStateRF& cb)
01154           : Ospfv301SetPeerStateCB(cb) { }
01155 
01156     };
01157 
01158     virtual void async_ospfv3_0_1_set_peer_state
01159        (
01160     const string&   ifname,
01161     const string&   vifname,
01162     const bool& enable,
01163     Ospfv301SetPeerStateCB);
01164 #endif
01165 
01171     virtual XrlCmdError ospfv3_0_1_add_address_peer(
01172     // Input values,
01173     const string&   ifname,
01174     const string&   vifname,
01175     const IPv4& area,
01176     const IPv6& addr) = 0;
01177 #ifdef XORP_ENABLE_ASYNC_SERVER
01178     typedef
01179     XorpCallback1<void, const XrlCmdError &>::RefPtr
01180     Ospfv301AddAddressPeerRF;
01181 
01182     class Ospfv301AddAddressPeerCB {
01183         Ospfv301AddAddressPeerRF cb;
01184 
01185     public:
01186         operator const Ospfv301AddAddressPeerRF& () const { return cb; }
01187         const Ospfv301AddAddressPeerRF& operator ->() const { return cb; }
01188         Ospfv301AddAddressPeerCB(const Ospfv301AddAddressPeerRF& cb)
01189           : cb(cb) { }
01190 
01191         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01192 
01193         void respond() const {
01194             cb->dispatch(XrlCmdError::OKAY());
01195         }
01196     };
01197 
01198     struct Ospfv301AddAddressPeerRsp :
01199       public Ospfv301AddAddressPeerCB {
01200         Ospfv301AddAddressPeerRsp(const Ospfv301AddAddressPeerRF& cb)
01201           : Ospfv301AddAddressPeerCB(cb) { }
01202 
01203     };
01204 
01205     virtual void async_ospfv3_0_1_add_address_peer
01206        (
01207     const string&   ifname,
01208     const string&   vifname,
01209     const IPv4& area,
01210     const IPv6& addr,
01211     Ospfv301AddAddressPeerCB);
01212 #endif
01213 
01219     virtual XrlCmdError ospfv3_0_1_remove_address_peer(
01220     // Input values,
01221     const string&   ifname,
01222     const string&   vifname,
01223     const IPv4& area,
01224     const IPv6& addr) = 0;
01225 #ifdef XORP_ENABLE_ASYNC_SERVER
01226     typedef
01227     XorpCallback1<void, const XrlCmdError &>::RefPtr
01228     Ospfv301RemoveAddressPeerRF;
01229 
01230     class Ospfv301RemoveAddressPeerCB {
01231         Ospfv301RemoveAddressPeerRF cb;
01232 
01233     public:
01234         operator const Ospfv301RemoveAddressPeerRF& () const { return cb; }
01235         const Ospfv301RemoveAddressPeerRF& operator ->() const { return cb; }
01236         Ospfv301RemoveAddressPeerCB(const Ospfv301RemoveAddressPeerRF& cb)
01237           : cb(cb) { }
01238 
01239         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01240 
01241         void respond() const {
01242             cb->dispatch(XrlCmdError::OKAY());
01243         }
01244     };
01245 
01246     struct Ospfv301RemoveAddressPeerRsp :
01247       public Ospfv301RemoveAddressPeerCB {
01248         Ospfv301RemoveAddressPeerRsp(const Ospfv301RemoveAddressPeerRF& cb)
01249           : Ospfv301RemoveAddressPeerCB(cb) { }
01250 
01251     };
01252 
01253     virtual void async_ospfv3_0_1_remove_address_peer
01254        (
01255     const string&   ifname,
01256     const string&   vifname,
01257     const IPv4& area,
01258     const IPv6& addr,
01259     Ospfv301RemoveAddressPeerCB);
01260 #endif
01261 
01267     virtual XrlCmdError ospfv3_0_1_set_address_state_peer(
01268     // Input values,
01269     const string&   ifname,
01270     const string&   vifname,
01271     const IPv4& area,
01272     const IPv6& addr,
01273     const bool& enable) = 0;
01274 #ifdef XORP_ENABLE_ASYNC_SERVER
01275     typedef
01276     XorpCallback1<void, const XrlCmdError &>::RefPtr
01277     Ospfv301SetAddressStatePeerRF;
01278 
01279     class Ospfv301SetAddressStatePeerCB {
01280         Ospfv301SetAddressStatePeerRF cb;
01281 
01282     public:
01283         operator const Ospfv301SetAddressStatePeerRF& () const { return cb; }
01284         const Ospfv301SetAddressStatePeerRF& operator ->() const { return cb; }
01285         Ospfv301SetAddressStatePeerCB(const Ospfv301SetAddressStatePeerRF& cb)
01286           : cb(cb) { }
01287 
01288         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01289 
01290         void respond() const {
01291             cb->dispatch(XrlCmdError::OKAY());
01292         }
01293     };
01294 
01295     struct Ospfv301SetAddressStatePeerRsp :
01296       public Ospfv301SetAddressStatePeerCB {
01297         Ospfv301SetAddressStatePeerRsp(const Ospfv301SetAddressStatePeerRF& cb)
01298           : Ospfv301SetAddressStatePeerCB(cb) { }
01299 
01300     };
01301 
01302     virtual void async_ospfv3_0_1_set_address_state_peer
01303        (
01304     const string&   ifname,
01305     const string&   vifname,
01306     const IPv4& area,
01307     const IPv6& addr,
01308     const bool& enable,
01309     Ospfv301SetAddressStatePeerCB);
01310 #endif
01311 
01318     virtual XrlCmdError ospfv3_0_1_activate_peer(
01319     // Input values,
01320     const string&   ifname,
01321     const string&   vifname,
01322     const IPv4& area) = 0;
01323 #ifdef XORP_ENABLE_ASYNC_SERVER
01324     typedef
01325     XorpCallback1<void, const XrlCmdError &>::RefPtr
01326     Ospfv301ActivatePeerRF;
01327 
01328     class Ospfv301ActivatePeerCB {
01329         Ospfv301ActivatePeerRF cb;
01330 
01331     public:
01332         operator const Ospfv301ActivatePeerRF& () const { return cb; }
01333         const Ospfv301ActivatePeerRF& operator ->() const { return cb; }
01334         Ospfv301ActivatePeerCB(const Ospfv301ActivatePeerRF& cb)
01335           : cb(cb) { }
01336 
01337         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01338 
01339         void respond() const {
01340             cb->dispatch(XrlCmdError::OKAY());
01341         }
01342     };
01343 
01344     struct Ospfv301ActivatePeerRsp :
01345       public Ospfv301ActivatePeerCB {
01346         Ospfv301ActivatePeerRsp(const Ospfv301ActivatePeerRF& cb)
01347           : Ospfv301ActivatePeerCB(cb) { }
01348 
01349     };
01350 
01351     virtual void async_ospfv3_0_1_activate_peer
01352        (
01353     const string&   ifname,
01354     const string&   vifname,
01355     const IPv4& area,
01356     Ospfv301ActivatePeerCB);
01357 #endif
01358 
01364     virtual XrlCmdError ospfv3_0_1_update_peer(
01365     // Input values,
01366     const string&   ifname,
01367     const string&   vifname,
01368     const IPv4& area) = 0;
01369 #ifdef XORP_ENABLE_ASYNC_SERVER
01370     typedef
01371     XorpCallback1<void, const XrlCmdError &>::RefPtr
01372     Ospfv301UpdatePeerRF;
01373 
01374     class Ospfv301UpdatePeerCB {
01375         Ospfv301UpdatePeerRF cb;
01376 
01377     public:
01378         operator const Ospfv301UpdatePeerRF& () const { return cb; }
01379         const Ospfv301UpdatePeerRF& operator ->() const { return cb; }
01380         Ospfv301UpdatePeerCB(const Ospfv301UpdatePeerRF& cb)
01381           : cb(cb) { }
01382 
01383         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01384 
01385         void respond() const {
01386             cb->dispatch(XrlCmdError::OKAY());
01387         }
01388     };
01389 
01390     struct Ospfv301UpdatePeerRsp :
01391       public Ospfv301UpdatePeerCB {
01392         Ospfv301UpdatePeerRsp(const Ospfv301UpdatePeerRF& cb)
01393           : Ospfv301UpdatePeerCB(cb) { }
01394 
01395     };
01396 
01397     virtual void async_ospfv3_0_1_update_peer
01398        (
01399     const string&   ifname,
01400     const string&   vifname,
01401     const IPv4& area,
01402     Ospfv301UpdatePeerCB);
01403 #endif
01404 
01410     virtual XrlCmdError ospfv3_0_1_add_neighbour(
01411     // Input values,
01412     const string&   ifname,
01413     const string&   vifname,
01414     const IPv4& area,
01415     const IPv6& neighbour_address,
01416     const IPv4& neighbour_id) = 0;
01417 #ifdef XORP_ENABLE_ASYNC_SERVER
01418     typedef
01419     XorpCallback1<void, const XrlCmdError &>::RefPtr
01420     Ospfv301AddNeighbourRF;
01421 
01422     class Ospfv301AddNeighbourCB {
01423         Ospfv301AddNeighbourRF cb;
01424 
01425     public:
01426         operator const Ospfv301AddNeighbourRF& () const { return cb; }
01427         const Ospfv301AddNeighbourRF& operator ->() const { return cb; }
01428         Ospfv301AddNeighbourCB(const Ospfv301AddNeighbourRF& cb)
01429           : cb(cb) { }
01430 
01431         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01432 
01433         void respond() const {
01434             cb->dispatch(XrlCmdError::OKAY());
01435         }
01436     };
01437 
01438     struct Ospfv301AddNeighbourRsp :
01439       public Ospfv301AddNeighbourCB {
01440         Ospfv301AddNeighbourRsp(const Ospfv301AddNeighbourRF& cb)
01441           : Ospfv301AddNeighbourCB(cb) { }
01442 
01443     };
01444 
01445     virtual void async_ospfv3_0_1_add_neighbour
01446        (
01447     const string&   ifname,
01448     const string&   vifname,
01449     const IPv4& area,
01450     const IPv6& neighbour_address,
01451     const IPv4& neighbour_id,
01452     Ospfv301AddNeighbourCB);
01453 #endif
01454 
01460     virtual XrlCmdError ospfv3_0_1_remove_neighbour(
01461     // Input values,
01462     const string&   ifname,
01463     const string&   vifname,
01464     const IPv4& area,
01465     const IPv6& neighbour_address,
01466     const IPv4& neighbour_id) = 0;
01467 #ifdef XORP_ENABLE_ASYNC_SERVER
01468     typedef
01469     XorpCallback1<void, const XrlCmdError &>::RefPtr
01470     Ospfv301RemoveNeighbourRF;
01471 
01472     class Ospfv301RemoveNeighbourCB {
01473         Ospfv301RemoveNeighbourRF cb;
01474 
01475     public:
01476         operator const Ospfv301RemoveNeighbourRF& () const { return cb; }
01477         const Ospfv301RemoveNeighbourRF& operator ->() const { return cb; }
01478         Ospfv301RemoveNeighbourCB(const Ospfv301RemoveNeighbourRF& cb)
01479           : cb(cb) { }
01480 
01481         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01482 
01483         void respond() const {
01484             cb->dispatch(XrlCmdError::OKAY());
01485         }
01486     };
01487 
01488     struct Ospfv301RemoveNeighbourRsp :
01489       public Ospfv301RemoveNeighbourCB {
01490         Ospfv301RemoveNeighbourRsp(const Ospfv301RemoveNeighbourRF& cb)
01491           : Ospfv301RemoveNeighbourCB(cb) { }
01492 
01493     };
01494 
01495     virtual void async_ospfv3_0_1_remove_neighbour
01496        (
01497     const string&   ifname,
01498     const string&   vifname,
01499     const IPv4& area,
01500     const IPv6& neighbour_address,
01501     const IPv4& neighbour_id,
01502     Ospfv301RemoveNeighbourCB);
01503 #endif
01504 
01516     virtual XrlCmdError ospfv3_0_1_create_virtual_link(
01517     // Input values,
01518     const IPv4& neighbour_id,
01519     const IPv4& area) = 0;
01520 #ifdef XORP_ENABLE_ASYNC_SERVER
01521     typedef
01522     XorpCallback1<void, const XrlCmdError &>::RefPtr
01523     Ospfv301CreateVirtualLinkRF;
01524 
01525     class Ospfv301CreateVirtualLinkCB {
01526         Ospfv301CreateVirtualLinkRF cb;
01527 
01528     public:
01529         operator const Ospfv301CreateVirtualLinkRF& () const { return cb; }
01530         const Ospfv301CreateVirtualLinkRF& operator ->() const { return cb; }
01531         Ospfv301CreateVirtualLinkCB(const Ospfv301CreateVirtualLinkRF& cb)
01532           : cb(cb) { }
01533 
01534         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01535 
01536         void respond() const {
01537             cb->dispatch(XrlCmdError::OKAY());
01538         }
01539     };
01540 
01541     struct Ospfv301CreateVirtualLinkRsp :
01542       public Ospfv301CreateVirtualLinkCB {
01543         Ospfv301CreateVirtualLinkRsp(const Ospfv301CreateVirtualLinkRF& cb)
01544           : Ospfv301CreateVirtualLinkCB(cb) { }
01545 
01546     };
01547 
01548     virtual void async_ospfv3_0_1_create_virtual_link
01549        (
01550     const IPv4& neighbour_id,
01551     const IPv4& area,
01552     Ospfv301CreateVirtualLinkCB);
01553 #endif
01554 
01562     virtual XrlCmdError ospfv3_0_1_delete_virtual_link(
01563     // Input values,
01564     const IPv4& neighbour_id) = 0;
01565 #ifdef XORP_ENABLE_ASYNC_SERVER
01566     typedef
01567     XorpCallback1<void, const XrlCmdError &>::RefPtr
01568     Ospfv301DeleteVirtualLinkRF;
01569 
01570     class Ospfv301DeleteVirtualLinkCB {
01571         Ospfv301DeleteVirtualLinkRF cb;
01572 
01573     public:
01574         operator const Ospfv301DeleteVirtualLinkRF& () const { return cb; }
01575         const Ospfv301DeleteVirtualLinkRF& operator ->() const { return cb; }
01576         Ospfv301DeleteVirtualLinkCB(const Ospfv301DeleteVirtualLinkRF& cb)
01577           : cb(cb) { }
01578 
01579         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01580 
01581         void respond() const {
01582             cb->dispatch(XrlCmdError::OKAY());
01583         }
01584     };
01585 
01586     struct Ospfv301DeleteVirtualLinkRsp :
01587       public Ospfv301DeleteVirtualLinkCB {
01588         Ospfv301DeleteVirtualLinkRsp(const Ospfv301DeleteVirtualLinkRF& cb)
01589           : Ospfv301DeleteVirtualLinkCB(cb) { }
01590 
01591     };
01592 
01593     virtual void async_ospfv3_0_1_delete_virtual_link
01594        (
01595     const IPv4& neighbour_id,
01596     Ospfv301DeleteVirtualLinkCB);
01597 #endif
01598 
01608     virtual XrlCmdError ospfv3_0_1_transit_area_virtual_link(
01609     // Input values,
01610     const IPv4& neighbour_id,
01611     const IPv4& transit_area) = 0;
01612 #ifdef XORP_ENABLE_ASYNC_SERVER
01613     typedef
01614     XorpCallback1<void, const XrlCmdError &>::RefPtr
01615     Ospfv301TransitAreaVirtualLinkRF;
01616 
01617     class Ospfv301TransitAreaVirtualLinkCB {
01618         Ospfv301TransitAreaVirtualLinkRF cb;
01619 
01620     public:
01621         operator const Ospfv301TransitAreaVirtualLinkRF& () const { return cb; }
01622         const Ospfv301TransitAreaVirtualLinkRF& operator ->() const { return cb; }
01623         Ospfv301TransitAreaVirtualLinkCB(const Ospfv301TransitAreaVirtualLinkRF& cb)
01624           : cb(cb) { }
01625 
01626         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01627 
01628         void respond() const {
01629             cb->dispatch(XrlCmdError::OKAY());
01630         }
01631     };
01632 
01633     struct Ospfv301TransitAreaVirtualLinkRsp :
01634       public Ospfv301TransitAreaVirtualLinkCB {
01635         Ospfv301TransitAreaVirtualLinkRsp(const Ospfv301TransitAreaVirtualLinkRF& cb)
01636           : Ospfv301TransitAreaVirtualLinkCB(cb) { }
01637 
01638     };
01639 
01640     virtual void async_ospfv3_0_1_transit_area_virtual_link
01641        (
01642     const IPv4& neighbour_id,
01643     const IPv4& transit_area,
01644     Ospfv301TransitAreaVirtualLinkCB);
01645 #endif
01646 
01652     virtual XrlCmdError ospfv3_0_1_set_interface_cost(
01653     // Input values,
01654     const string&   ifname,
01655     const string&   vifname,
01656     const IPv4& area,
01657     const uint32_t& cost) = 0;
01658 #ifdef XORP_ENABLE_ASYNC_SERVER
01659     typedef
01660     XorpCallback1<void, const XrlCmdError &>::RefPtr
01661     Ospfv301SetInterfaceCostRF;
01662 
01663     class Ospfv301SetInterfaceCostCB {
01664         Ospfv301SetInterfaceCostRF cb;
01665 
01666     public:
01667         operator const Ospfv301SetInterfaceCostRF& () const { return cb; }
01668         const Ospfv301SetInterfaceCostRF& operator ->() const { return cb; }
01669         Ospfv301SetInterfaceCostCB(const Ospfv301SetInterfaceCostRF& cb)
01670           : cb(cb) { }
01671 
01672         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01673 
01674         void respond() const {
01675             cb->dispatch(XrlCmdError::OKAY());
01676         }
01677     };
01678 
01679     struct Ospfv301SetInterfaceCostRsp :
01680       public Ospfv301SetInterfaceCostCB {
01681         Ospfv301SetInterfaceCostRsp(const Ospfv301SetInterfaceCostRF& cb)
01682           : Ospfv301SetInterfaceCostCB(cb) { }
01683 
01684     };
01685 
01686     virtual void async_ospfv3_0_1_set_interface_cost
01687        (
01688     const string&   ifname,
01689     const string&   vifname,
01690     const IPv4& area,
01691     const uint32_t& cost,
01692     Ospfv301SetInterfaceCostCB);
01693 #endif
01694 
01706     virtual XrlCmdError ospfv3_0_1_set_retransmit_interval(
01707     // Input values,
01708     const string&   ifname,
01709     const string&   vifname,
01710     const IPv4& area,
01711     const uint32_t& interval) = 0;
01712 #ifdef XORP_ENABLE_ASYNC_SERVER
01713     typedef
01714     XorpCallback1<void, const XrlCmdError &>::RefPtr
01715     Ospfv301SetRetransmitIntervalRF;
01716 
01717     class Ospfv301SetRetransmitIntervalCB {
01718         Ospfv301SetRetransmitIntervalRF cb;
01719 
01720     public:
01721         operator const Ospfv301SetRetransmitIntervalRF& () const { return cb; }
01722         const Ospfv301SetRetransmitIntervalRF& operator ->() const { return cb; }
01723         Ospfv301SetRetransmitIntervalCB(const Ospfv301SetRetransmitIntervalRF& cb)
01724           : cb(cb) { }
01725 
01726         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01727 
01728         void respond() const {
01729             cb->dispatch(XrlCmdError::OKAY());
01730         }
01731     };
01732 
01733     struct Ospfv301SetRetransmitIntervalRsp :
01734       public Ospfv301SetRetransmitIntervalCB {
01735         Ospfv301SetRetransmitIntervalRsp(const Ospfv301SetRetransmitIntervalRF& cb)
01736           : Ospfv301SetRetransmitIntervalCB(cb) { }
01737 
01738     };
01739 
01740     virtual void async_ospfv3_0_1_set_retransmit_interval
01741        (
01742     const string&   ifname,
01743     const string&   vifname,
01744     const IPv4& area,
01745     const uint32_t& interval,
01746     Ospfv301SetRetransmitIntervalCB);
01747 #endif
01748 
01758     virtual XrlCmdError ospfv3_0_1_set_inftransdelay(
01759     // Input values,
01760     const string&   ifname,
01761     const string&   vifname,
01762     const IPv4& area,
01763     const uint32_t& delay) = 0;
01764 #ifdef XORP_ENABLE_ASYNC_SERVER
01765     typedef
01766     XorpCallback1<void, const XrlCmdError &>::RefPtr
01767     Ospfv301SetInftransdelayRF;
01768 
01769     class Ospfv301SetInftransdelayCB {
01770         Ospfv301SetInftransdelayRF cb;
01771 
01772     public:
01773         operator const Ospfv301SetInftransdelayRF& () const { return cb; }
01774         const Ospfv301SetInftransdelayRF& operator ->() const { return cb; }
01775         Ospfv301SetInftransdelayCB(const Ospfv301SetInftransdelayRF& cb)
01776           : cb(cb) { }
01777 
01778         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01779 
01780         void respond() const {
01781             cb->dispatch(XrlCmdError::OKAY());
01782         }
01783     };
01784 
01785     struct Ospfv301SetInftransdelayRsp :
01786       public Ospfv301SetInftransdelayCB {
01787         Ospfv301SetInftransdelayRsp(const Ospfv301SetInftransdelayRF& cb)
01788           : Ospfv301SetInftransdelayCB(cb) { }
01789 
01790     };
01791 
01792     virtual void async_ospfv3_0_1_set_inftransdelay
01793        (
01794     const string&   ifname,
01795     const string&   vifname,
01796     const IPv4& area,
01797     const uint32_t& delay,
01798     Ospfv301SetInftransdelayCB);
01799 #endif
01800 
01806     virtual XrlCmdError ospfv3_0_1_set_router_priority(
01807     // Input values,
01808     const string&   ifname,
01809     const string&   vifname,
01810     const IPv4& area,
01811     const uint32_t& priority) = 0;
01812 #ifdef XORP_ENABLE_ASYNC_SERVER
01813     typedef
01814     XorpCallback1<void, const XrlCmdError &>::RefPtr
01815     Ospfv301SetRouterPriorityRF;
01816 
01817     class Ospfv301SetRouterPriorityCB {
01818         Ospfv301SetRouterPriorityRF cb;
01819 
01820     public:
01821         operator const Ospfv301SetRouterPriorityRF& () const { return cb; }
01822         const Ospfv301SetRouterPriorityRF& operator ->() const { return cb; }
01823         Ospfv301SetRouterPriorityCB(const Ospfv301SetRouterPriorityRF& cb)
01824           : cb(cb) { }
01825 
01826         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01827 
01828         void respond() const {
01829             cb->dispatch(XrlCmdError::OKAY());
01830         }
01831     };
01832 
01833     struct Ospfv301SetRouterPriorityRsp :
01834       public Ospfv301SetRouterPriorityCB {
01835         Ospfv301SetRouterPriorityRsp(const Ospfv301SetRouterPriorityRF& cb)
01836           : Ospfv301SetRouterPriorityCB(cb) { }
01837 
01838     };
01839 
01840     virtual void async_ospfv3_0_1_set_router_priority
01841        (
01842     const string&   ifname,
01843     const string&   vifname,
01844     const IPv4& area,
01845     const uint32_t& priority,
01846     Ospfv301SetRouterPriorityCB);
01847 #endif
01848 
01854     virtual XrlCmdError ospfv3_0_1_set_hello_interval(
01855     // Input values,
01856     const string&   ifname,
01857     const string&   vifname,
01858     const IPv4& area,
01859     const uint32_t& interval) = 0;
01860 #ifdef XORP_ENABLE_ASYNC_SERVER
01861     typedef
01862     XorpCallback1<void, const XrlCmdError &>::RefPtr
01863     Ospfv301SetHelloIntervalRF;
01864 
01865     class Ospfv301SetHelloIntervalCB {
01866         Ospfv301SetHelloIntervalRF cb;
01867 
01868     public:
01869         operator const Ospfv301SetHelloIntervalRF& () const { return cb; }
01870         const Ospfv301SetHelloIntervalRF& operator ->() const { return cb; }
01871         Ospfv301SetHelloIntervalCB(const Ospfv301SetHelloIntervalRF& cb)
01872           : cb(cb) { }
01873 
01874         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01875 
01876         void respond() const {
01877             cb->dispatch(XrlCmdError::OKAY());
01878         }
01879     };
01880 
01881     struct Ospfv301SetHelloIntervalRsp :
01882       public Ospfv301SetHelloIntervalCB {
01883         Ospfv301SetHelloIntervalRsp(const Ospfv301SetHelloIntervalRF& cb)
01884           : Ospfv301SetHelloIntervalCB(cb) { }
01885 
01886     };
01887 
01888     virtual void async_ospfv3_0_1_set_hello_interval
01889        (
01890     const string&   ifname,
01891     const string&   vifname,
01892     const IPv4& area,
01893     const uint32_t& interval,
01894     Ospfv301SetHelloIntervalCB);
01895 #endif
01896 
01902     virtual XrlCmdError ospfv3_0_1_set_router_dead_interval(
01903     // Input values,
01904     const string&   ifname,
01905     const string&   vifname,
01906     const IPv4& area,
01907     const uint32_t& interval) = 0;
01908 #ifdef XORP_ENABLE_ASYNC_SERVER
01909     typedef
01910     XorpCallback1<void, const XrlCmdError &>::RefPtr
01911     Ospfv301SetRouterDeadIntervalRF;
01912 
01913     class Ospfv301SetRouterDeadIntervalCB {
01914         Ospfv301SetRouterDeadIntervalRF cb;
01915 
01916     public:
01917         operator const Ospfv301SetRouterDeadIntervalRF& () const { return cb; }
01918         const Ospfv301SetRouterDeadIntervalRF& operator ->() const { return cb; }
01919         Ospfv301SetRouterDeadIntervalCB(const Ospfv301SetRouterDeadIntervalRF& cb)
01920           : cb(cb) { }
01921 
01922         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01923 
01924         void respond() const {
01925             cb->dispatch(XrlCmdError::OKAY());
01926         }
01927     };
01928 
01929     struct Ospfv301SetRouterDeadIntervalRsp :
01930       public Ospfv301SetRouterDeadIntervalCB {
01931         Ospfv301SetRouterDeadIntervalRsp(const Ospfv301SetRouterDeadIntervalRF& cb)
01932           : Ospfv301SetRouterDeadIntervalCB(cb) { }
01933 
01934     };
01935 
01936     virtual void async_ospfv3_0_1_set_router_dead_interval
01937        (
01938     const string&   ifname,
01939     const string&   vifname,
01940     const IPv4& area,
01941     const uint32_t& interval,
01942     Ospfv301SetRouterDeadIntervalCB);
01943 #endif
01944 
01950     virtual XrlCmdError ospfv3_0_1_set_passive(
01951     // Input values,
01952     const string&   ifname,
01953     const string&   vifname,
01954     const IPv4& area,
01955     const bool& passive) = 0;
01956 #ifdef XORP_ENABLE_ASYNC_SERVER
01957     typedef
01958     XorpCallback1<void, const XrlCmdError &>::RefPtr
01959     Ospfv301SetPassiveRF;
01960 
01961     class Ospfv301SetPassiveCB {
01962         Ospfv301SetPassiveRF cb;
01963 
01964     public:
01965         operator const Ospfv301SetPassiveRF& () const { return cb; }
01966         const Ospfv301SetPassiveRF& operator ->() const { return cb; }
01967         Ospfv301SetPassiveCB(const Ospfv301SetPassiveRF& cb)
01968           : cb(cb) { }
01969 
01970         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01971 
01972         void respond() const {
01973             cb->dispatch(XrlCmdError::OKAY());
01974         }
01975     };
01976 
01977     struct Ospfv301SetPassiveRsp :
01978       public Ospfv301SetPassiveCB {
01979         Ospfv301SetPassiveRsp(const Ospfv301SetPassiveRF& cb)
01980           : Ospfv301SetPassiveCB(cb) { }
01981 
01982     };
01983 
01984     virtual void async_ospfv3_0_1_set_passive
01985        (
01986     const string&   ifname,
01987     const string&   vifname,
01988     const IPv4& area,
01989     const bool& passive,
01990     Ospfv301SetPassiveCB);
01991 #endif
01992 
01999     virtual XrlCmdError ospfv3_0_1_originate_default_route(
02000     // Input values,
02001     const IPv4& area,
02002     const bool& enable) = 0;
02003 #ifdef XORP_ENABLE_ASYNC_SERVER
02004     typedef
02005     XorpCallback1<void, const XrlCmdError &>::RefPtr
02006     Ospfv301OriginateDefaultRouteRF;
02007 
02008     class Ospfv301OriginateDefaultRouteCB {
02009         Ospfv301OriginateDefaultRouteRF cb;
02010 
02011     public:
02012         operator const Ospfv301OriginateDefaultRouteRF& () const { return cb; }
02013         const Ospfv301OriginateDefaultRouteRF& operator ->() const { return cb; }
02014         Ospfv301OriginateDefaultRouteCB(const Ospfv301OriginateDefaultRouteRF& cb)
02015           : cb(cb) { }
02016 
02017         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02018 
02019         void respond() const {
02020             cb->dispatch(XrlCmdError::OKAY());
02021         }
02022     };
02023 
02024     struct Ospfv301OriginateDefaultRouteRsp :
02025       public Ospfv301OriginateDefaultRouteCB {
02026         Ospfv301OriginateDefaultRouteRsp(const Ospfv301OriginateDefaultRouteRF& cb)
02027           : Ospfv301OriginateDefaultRouteCB(cb) { }
02028 
02029     };
02030 
02031     virtual void async_ospfv3_0_1_originate_default_route
02032        (
02033     const IPv4& area,
02034     const bool& enable,
02035     Ospfv301OriginateDefaultRouteCB);
02036 #endif
02037 
02044     virtual XrlCmdError ospfv3_0_1_stub_default_cost(
02045     // Input values,
02046     const IPv4& area,
02047     const uint32_t& cost) = 0;
02048 #ifdef XORP_ENABLE_ASYNC_SERVER
02049     typedef
02050     XorpCallback1<void, const XrlCmdError &>::RefPtr
02051     Ospfv301StubDefaultCostRF;
02052 
02053     class Ospfv301StubDefaultCostCB {
02054         Ospfv301StubDefaultCostRF cb;
02055 
02056     public:
02057         operator const Ospfv301StubDefaultCostRF& () const { return cb; }
02058         const Ospfv301StubDefaultCostRF& operator ->() const { return cb; }
02059         Ospfv301StubDefaultCostCB(const Ospfv301StubDefaultCostRF& cb)
02060           : cb(cb) { }
02061 
02062         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02063 
02064         void respond() const {
02065             cb->dispatch(XrlCmdError::OKAY());
02066         }
02067     };
02068 
02069     struct Ospfv301StubDefaultCostRsp :
02070       public Ospfv301StubDefaultCostCB {
02071         Ospfv301StubDefaultCostRsp(const Ospfv301StubDefaultCostRF& cb)
02072           : Ospfv301StubDefaultCostCB(cb) { }
02073 
02074     };
02075 
02076     virtual void async_ospfv3_0_1_stub_default_cost
02077        (
02078     const IPv4& area,
02079     const uint32_t& cost,
02080     Ospfv301StubDefaultCostCB);
02081 #endif
02082 
02088     virtual XrlCmdError ospfv3_0_1_summaries(
02089     // Input values,
02090     const IPv4& area,
02091     const bool& enable) = 0;
02092 #ifdef XORP_ENABLE_ASYNC_SERVER
02093     typedef
02094     XorpCallback1<void, const XrlCmdError &>::RefPtr
02095     Ospfv301SummariesRF;
02096 
02097     class Ospfv301SummariesCB {
02098         Ospfv301SummariesRF cb;
02099 
02100     public:
02101         operator const Ospfv301SummariesRF& () const { return cb; }
02102         const Ospfv301SummariesRF& operator ->() const { return cb; }
02103         Ospfv301SummariesCB(const Ospfv301SummariesRF& cb)
02104           : cb(cb) { }
02105 
02106         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02107 
02108         void respond() const {
02109             cb->dispatch(XrlCmdError::OKAY());
02110         }
02111     };
02112 
02113     struct Ospfv301SummariesRsp :
02114       public Ospfv301SummariesCB {
02115         Ospfv301SummariesRsp(const Ospfv301SummariesRF& cb)
02116           : Ospfv301SummariesCB(cb) { }
02117 
02118     };
02119 
02120     virtual void async_ospfv3_0_1_summaries
02121        (
02122     const IPv4& area,
02123     const bool& enable,
02124     Ospfv301SummariesCB);
02125 #endif
02126 
02132     virtual XrlCmdError ospfv3_0_1_area_range_add(
02133     // Input values,
02134     const IPv4& area,
02135     const IPv6Net&  net,
02136     const bool& advertise) = 0;
02137 #ifdef XORP_ENABLE_ASYNC_SERVER
02138     typedef
02139     XorpCallback1<void, const XrlCmdError &>::RefPtr
02140     Ospfv301AreaRangeAddRF;
02141 
02142     class Ospfv301AreaRangeAddCB {
02143         Ospfv301AreaRangeAddRF cb;
02144 
02145     public:
02146         operator const Ospfv301AreaRangeAddRF& () const { return cb; }
02147         const Ospfv301AreaRangeAddRF& operator ->() const { return cb; }
02148         Ospfv301AreaRangeAddCB(const Ospfv301AreaRangeAddRF& cb)
02149           : cb(cb) { }
02150 
02151         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02152 
02153         void respond() const {
02154             cb->dispatch(XrlCmdError::OKAY());
02155         }
02156     };
02157 
02158     struct Ospfv301AreaRangeAddRsp :
02159       public Ospfv301AreaRangeAddCB {
02160         Ospfv301AreaRangeAddRsp(const Ospfv301AreaRangeAddRF& cb)
02161           : Ospfv301AreaRangeAddCB(cb) { }
02162 
02163     };
02164 
02165     virtual void async_ospfv3_0_1_area_range_add
02166        (
02167     const IPv4& area,
02168     const IPv6Net&  net,
02169     const bool& advertise,
02170     Ospfv301AreaRangeAddCB);
02171 #endif
02172 
02178     virtual XrlCmdError ospfv3_0_1_area_range_delete(
02179     // Input values,
02180     const IPv4& area,
02181     const IPv6Net&  net) = 0;
02182 #ifdef XORP_ENABLE_ASYNC_SERVER
02183     typedef
02184     XorpCallback1<void, const XrlCmdError &>::RefPtr
02185     Ospfv301AreaRangeDeleteRF;
02186 
02187     class Ospfv301AreaRangeDeleteCB {
02188         Ospfv301AreaRangeDeleteRF cb;
02189 
02190     public:
02191         operator const Ospfv301AreaRangeDeleteRF& () const { return cb; }
02192         const Ospfv301AreaRangeDeleteRF& operator ->() const { return cb; }
02193         Ospfv301AreaRangeDeleteCB(const Ospfv301AreaRangeDeleteRF& cb)
02194           : cb(cb) { }
02195 
02196         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02197 
02198         void respond() const {
02199             cb->dispatch(XrlCmdError::OKAY());
02200         }
02201     };
02202 
02203     struct Ospfv301AreaRangeDeleteRsp :
02204       public Ospfv301AreaRangeDeleteCB {
02205         Ospfv301AreaRangeDeleteRsp(const Ospfv301AreaRangeDeleteRF& cb)
02206           : Ospfv301AreaRangeDeleteCB(cb) { }
02207 
02208     };
02209 
02210     virtual void async_ospfv3_0_1_area_range_delete
02211        (
02212     const IPv4& area,
02213     const IPv6Net&  net,
02214     Ospfv301AreaRangeDeleteCB);
02215 #endif
02216 
02222     virtual XrlCmdError ospfv3_0_1_area_range_change_state(
02223     // Input values,
02224     const IPv4& area,
02225     const IPv6Net&  net,
02226     const bool& advertise) = 0;
02227 #ifdef XORP_ENABLE_ASYNC_SERVER
02228     typedef
02229     XorpCallback1<void, const XrlCmdError &>::RefPtr
02230     Ospfv301AreaRangeChangeStateRF;
02231 
02232     class Ospfv301AreaRangeChangeStateCB {
02233         Ospfv301AreaRangeChangeStateRF cb;
02234 
02235     public:
02236         operator const Ospfv301AreaRangeChangeStateRF& () const { return cb; }
02237         const Ospfv301AreaRangeChangeStateRF& operator ->() const { return cb; }
02238         Ospfv301AreaRangeChangeStateCB(const Ospfv301AreaRangeChangeStateRF& cb)
02239           : cb(cb) { }
02240 
02241         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02242 
02243         void respond() const {
02244             cb->dispatch(XrlCmdError::OKAY());
02245         }
02246     };
02247 
02248     struct Ospfv301AreaRangeChangeStateRsp :
02249       public Ospfv301AreaRangeChangeStateCB {
02250         Ospfv301AreaRangeChangeStateRsp(const Ospfv301AreaRangeChangeStateRF& cb)
02251           : Ospfv301AreaRangeChangeStateCB(cb) { }
02252 
02253     };
02254 
02255     virtual void async_ospfv3_0_1_area_range_change_state
02256        (
02257     const IPv4& area,
02258     const IPv6Net&  net,
02259     const bool& advertise,
02260     Ospfv301AreaRangeChangeStateCB);
02261 #endif
02262 
02272     virtual XrlCmdError ospfv3_0_1_trace(
02273     // Input values,
02274     const string&   tvar,
02275     const bool& enable) = 0;
02276 #ifdef XORP_ENABLE_ASYNC_SERVER
02277     typedef
02278     XorpCallback1<void, const XrlCmdError &>::RefPtr
02279     Ospfv301TraceRF;
02280 
02281     class Ospfv301TraceCB {
02282         Ospfv301TraceRF cb;
02283 
02284     public:
02285         operator const Ospfv301TraceRF& () const { return cb; }
02286         const Ospfv301TraceRF& operator ->() const { return cb; }
02287         Ospfv301TraceCB(const Ospfv301TraceRF& cb)
02288           : cb(cb) { }
02289 
02290         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02291 
02292         void respond() const {
02293             cb->dispatch(XrlCmdError::OKAY());
02294         }
02295     };
02296 
02297     struct Ospfv301TraceRsp :
02298       public Ospfv301TraceCB {
02299         Ospfv301TraceRsp(const Ospfv301TraceRF& cb)
02300           : Ospfv301TraceCB(cb) { }
02301 
02302     };
02303 
02304     virtual void async_ospfv3_0_1_trace
02305        (
02306     const string&   tvar,
02307     const bool& enable,
02308     Ospfv301TraceCB);
02309 #endif
02310 
02331     virtual XrlCmdError ospfv3_0_1_get_lsa(
02332     // Input values,
02333     const IPv4& area,
02334     const uint32_t& index,
02335     // Output values,
02336     bool&   valid,
02337     bool&   toohigh,
02338     bool&   self,
02339     vector<uint8_t>&    lsa) = 0;
02340 #ifdef XORP_ENABLE_ASYNC_SERVER
02341     typedef
02342     XorpCallback5<void, const XrlCmdError &,
02343     const bool*,
02344     const bool*,
02345     const bool*,
02346     const vector<uint8_t>*>::RefPtr
02347     Ospfv301GetLsaRF;
02348 
02349     class Ospfv301GetLsaCB {
02350         Ospfv301GetLsaRF cb;
02351 
02352     public:
02353         operator const Ospfv301GetLsaRF& () const { return cb; }
02354         const Ospfv301GetLsaRF& operator ->() const { return cb; }
02355         Ospfv301GetLsaCB(const Ospfv301GetLsaRF& cb)
02356           : cb(cb) { }
02357 
02358         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL); }
02359 
02360         void respond(const bool& arg_valid,
02361                      const bool& arg_toohigh,
02362                      const bool& arg_self,
02363                      const vector<uint8_t>& arg_lsa) const {
02364             cb->dispatch(XrlCmdError::OKAY(),
02365                          &arg_valid,
02366                          &arg_toohigh,
02367                          &arg_self,
02368                          &arg_lsa);
02369         }
02370     };
02371 
02372     struct Ospfv301GetLsaRsp :
02373       public Ospfv301GetLsaCB {
02374         struct args_str {
02375             bool valid;
02376             bool toohigh;
02377             bool self;
02378             vector<uint8_t> lsa;
02379         };
02380 
02381     private:
02382         args_str args;
02383 
02384     public:
02385         Ospfv301GetLsaRsp(const Ospfv301GetLsaRF& cb)
02386           : Ospfv301GetLsaCB(cb) { }
02387 
02388         void respond() const {
02389             Ospfv301GetLsaCB::
02390             respond(args.valid,
02391                         args.toohigh,
02392                         args.self,
02393                         args.lsa);
02394         }
02395 
02396         args_str* operator ->() {
02397             return &args;
02398         }
02399     };
02400 
02401     virtual void async_ospfv3_0_1_get_lsa
02402        (
02403     const IPv4& area,
02404     const uint32_t& index,
02405     Ospfv301GetLsaCB);
02406 #endif
02407 
02414     virtual XrlCmdError ospfv3_0_1_get_area_list(
02415     // Output values,
02416     XrlAtomList&    areas) = 0;
02417 #ifdef XORP_ENABLE_ASYNC_SERVER
02418     typedef
02419     XorpCallback2<void, const XrlCmdError &,
02420     const XrlAtomList*>::RefPtr
02421     Ospfv301GetAreaListRF;
02422 
02423     class Ospfv301GetAreaListCB {
02424         Ospfv301GetAreaListRF cb;
02425 
02426     public:
02427         operator const Ospfv301GetAreaListRF& () const { return cb; }
02428         const Ospfv301GetAreaListRF& operator ->() const { return cb; }
02429         Ospfv301GetAreaListCB(const Ospfv301GetAreaListRF& cb)
02430           : cb(cb) { }
02431 
02432         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); }
02433 
02434         void respond(const XrlAtomList& arg_areas) const {
02435             cb->dispatch(XrlCmdError::OKAY(),
02436                          &arg_areas);
02437         }
02438     };
02439 
02440     struct Ospfv301GetAreaListRsp :
02441       public Ospfv301GetAreaListCB {
02442         struct args_str {
02443             XrlAtomList areas;
02444         };
02445 
02446     private:
02447         args_str args;
02448 
02449     public:
02450         Ospfv301GetAreaListRsp(const Ospfv301GetAreaListRF& cb)
02451           : Ospfv301GetAreaListCB(cb) { }
02452 
02453         void respond() const {
02454             Ospfv301GetAreaListCB::
02455             respond(args.areas);
02456         }
02457 
02458         args_str* operator ->() {
02459             return &args;
02460         }
02461     };
02462 
02463     virtual void async_ospfv3_0_1_get_area_list
02464        (
02465     Ospfv301GetAreaListCB);
02466 #endif
02467 
02475     virtual XrlCmdError ospfv3_0_1_get_neighbour_list(
02476     // Output values,
02477     XrlAtomList&    areas) = 0;
02478 #ifdef XORP_ENABLE_ASYNC_SERVER
02479     typedef
02480     XorpCallback2<void, const XrlCmdError &,
02481     const XrlAtomList*>::RefPtr
02482     Ospfv301GetNeighbourListRF;
02483 
02484     class Ospfv301GetNeighbourListCB {
02485         Ospfv301GetNeighbourListRF cb;
02486 
02487     public:
02488         operator const Ospfv301GetNeighbourListRF& () const { return cb; }
02489         const Ospfv301GetNeighbourListRF& operator ->() const { return cb; }
02490         Ospfv301GetNeighbourListCB(const Ospfv301GetNeighbourListRF& cb)
02491           : cb(cb) { }
02492 
02493         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL); }
02494 
02495         void respond(const XrlAtomList& arg_areas) const {
02496             cb->dispatch(XrlCmdError::OKAY(),
02497                          &arg_areas);
02498         }
02499     };
02500 
02501     struct Ospfv301GetNeighbourListRsp :
02502       public Ospfv301GetNeighbourListCB {
02503         struct args_str {
02504             XrlAtomList areas;
02505         };
02506 
02507     private:
02508         args_str args;
02509 
02510     public:
02511         Ospfv301GetNeighbourListRsp(const Ospfv301GetNeighbourListRF& cb)
02512           : Ospfv301GetNeighbourListCB(cb) { }
02513 
02514         void respond() const {
02515             Ospfv301GetNeighbourListCB::
02516             respond(args.areas);
02517         }
02518 
02519         args_str* operator ->() {
02520             return &args;
02521         }
02522     };
02523 
02524     virtual void async_ospfv3_0_1_get_neighbour_list
02525        (
02526     Ospfv301GetNeighbourListCB);
02527 #endif
02528 
02560     virtual XrlCmdError ospfv3_0_1_get_neighbour_info(
02561     // Input values,
02562     const uint32_t& nid,
02563     // Output values,
02564     string& address,
02565     string& interface,
02566     string& state,
02567     IPv4&   rid,
02568     uint32_t&   priority,
02569     uint32_t&   deadtime,
02570     IPv4&   area,
02571     uint32_t&   opt,
02572     IPv4&   dr,
02573     IPv4&   bdr,
02574     uint32_t&   up,
02575     uint32_t&   adjacent) = 0;
02576 #ifdef XORP_ENABLE_ASYNC_SERVER
02577     typedef
02578     XorpCallback13<void, const XrlCmdError &,
02579     const string*,
02580     const string*,
02581     const string*,
02582     const IPv4*,
02583     const uint32_t*,
02584     const uint32_t*,
02585     const IPv4*,
02586     const uint32_t*,
02587     const IPv4*,
02588     const IPv4*,
02589     const uint32_t*,
02590     const uint32_t*>::RefPtr
02591     Ospfv301GetNeighbourInfoRF;
02592 
02593     class Ospfv301GetNeighbourInfoCB {
02594         Ospfv301GetNeighbourInfoRF cb;
02595 
02596     public:
02597         operator const Ospfv301GetNeighbourInfoRF& () const { return cb; }
02598         const Ospfv301GetNeighbourInfoRF& operator ->() const { return cb; }
02599         Ospfv301GetNeighbourInfoCB(const Ospfv301GetNeighbourInfoRF& cb)
02600           : cb(cb) { }
02601 
02602         void fail(const XrlCmdError &e) const { cb->dispatch(e, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); }
02603 
02604         void respond(const string& arg_address,
02605                      const string& arg_interface,
02606                      const string& arg_state,
02607                      const IPv4& arg_rid,
02608                      const uint32_t& arg_priority,
02609                      const uint32_t& arg_deadtime,
02610                      const IPv4& arg_area,
02611                      const uint32_t& arg_opt,
02612                      const IPv4& arg_dr,
02613                      const IPv4& arg_bdr,
02614                      const uint32_t& arg_up,
02615                      const uint32_t& arg_adjacent) const {
02616             cb->dispatch(XrlCmdError::OKAY(),
02617                          &arg_address,
02618                          &arg_interface,
02619                          &arg_state,
02620                          &arg_rid,
02621                          &arg_priority,
02622                          &arg_deadtime,
02623                          &arg_area,
02624                          &arg_opt,
02625                          &arg_dr,
02626                          &arg_bdr,
02627                          &arg_up,
02628                          &arg_adjacent);
02629         }
02630     };
02631 
02632     struct Ospfv301GetNeighbourInfoRsp :
02633       public Ospfv301GetNeighbourInfoCB {
02634         struct args_str {
02635             string address;
02636             string interface;
02637             string state;
02638             IPv4 rid;
02639             uint32_t priority;
02640             uint32_t deadtime;
02641             IPv4 area;
02642             uint32_t opt;
02643             IPv4 dr;
02644             IPv4 bdr;
02645             uint32_t up;
02646             uint32_t adjacent;
02647         };
02648 
02649     private:
02650         args_str args;
02651 
02652     public:
02653         Ospfv301GetNeighbourInfoRsp(const Ospfv301GetNeighbourInfoRF& cb)
02654           : Ospfv301GetNeighbourInfoCB(cb) { }
02655 
02656         void respond() const {
02657             Ospfv301GetNeighbourInfoCB::
02658             respond(args.address,
02659                         args.interface,
02660                         args.state,
02661                         args.rid,
02662                         args.priority,
02663                         args.deadtime,
02664                         args.area,
02665                         args.opt,
02666                         args.dr,
02667                         args.bdr,
02668                         args.up,
02669                         args.adjacent);
02670         }
02671 
02672         args_str* operator ->() {
02673             return &args;
02674         }
02675     };
02676 
02677     virtual void async_ospfv3_0_1_get_neighbour_info
02678        (
02679     const uint32_t& nid,
02680     Ospfv301GetNeighbourInfoCB);
02681 #endif
02682 
02688     virtual XrlCmdError ospfv3_0_1_clear_database() = 0;
02689 #ifdef XORP_ENABLE_ASYNC_SERVER
02690     typedef
02691     XorpCallback1<void, const XrlCmdError &>::RefPtr
02692     Ospfv301ClearDatabaseRF;
02693 
02694     class Ospfv301ClearDatabaseCB {
02695         Ospfv301ClearDatabaseRF cb;
02696 
02697     public:
02698         operator const Ospfv301ClearDatabaseRF& () const { return cb; }
02699         const Ospfv301ClearDatabaseRF& operator ->() const { return cb; }
02700         Ospfv301ClearDatabaseCB(const Ospfv301ClearDatabaseRF& cb)
02701           : cb(cb) { }
02702 
02703         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
02704 
02705         void respond() const {
02706             cb->dispatch(XrlCmdError::OKAY());
02707         }
02708     };
02709 
02710     struct Ospfv301ClearDatabaseRsp :
02711       public Ospfv301ClearDatabaseCB {
02712         Ospfv301ClearDatabaseRsp(const Ospfv301ClearDatabaseRF& cb)
02713           : Ospfv301ClearDatabaseCB(cb) { }
02714 
02715     };
02716 
02717     virtual void async_ospfv3_0_1_clear_database
02718        (
02719     Ospfv301ClearDatabaseCB);
02720 #endif
02721 
02722 private:
02723     XrlCmdRT handle_common_0_1_get_target_name(const XrlArgs& in, XrlCmdOT out);
02724 #ifdef XORP_ENABLE_ASYNC_SERVER
02725     void callback_common_0_1_get_target_name
02726        (const XrlCmdError &e,
02727     const string* arg_name,
02728         XrlRespCallback);
02729 #endif
02730 
02731     XrlCmdRT handle_common_0_1_get_version(const XrlArgs& in, XrlCmdOT out);
02732 #ifdef XORP_ENABLE_ASYNC_SERVER
02733     void callback_common_0_1_get_version
02734        (const XrlCmdError &e,
02735     const string* arg_version,
02736         XrlRespCallback);
02737 #endif
02738 
02739     XrlCmdRT handle_common_0_1_get_status(const XrlArgs& in, XrlCmdOT out);
02740 #ifdef XORP_ENABLE_ASYNC_SERVER
02741     void callback_common_0_1_get_status
02742        (const XrlCmdError &e,
02743     const uint32_t* arg_status,
02744     const string* arg_reason,
02745         XrlRespCallback);
02746 #endif
02747 
02748     XrlCmdRT handle_common_0_1_shutdown(const XrlArgs& in, XrlCmdOT out);
02749 #ifdef XORP_ENABLE_ASYNC_SERVER
02750     void callback_common_0_1_shutdown
02751        (const XrlCmdError &e,
02752         XrlRespCallback);
02753 #endif
02754 
02755     XrlCmdRT handle_common_0_1_startup(const XrlArgs& in, XrlCmdOT out);
02756 #ifdef XORP_ENABLE_ASYNC_SERVER
02757     void callback_common_0_1_startup
02758        (const XrlCmdError &e,
02759         XrlRespCallback);
02760 #endif
02761 
02762     XrlCmdRT handle_raw_packet4_client_0_1_recv(const XrlArgs& in, XrlCmdOT out);
02763 #ifdef XORP_ENABLE_ASYNC_SERVER
02764     void callback_raw_packet4_client_0_1_recv
02765        (const XrlCmdError &e,
02766         XrlRespCallback);
02767 #endif
02768 
02769     XrlCmdRT handle_raw_packet6_client_0_1_recv(const XrlArgs& in, XrlCmdOT out);
02770 #ifdef XORP_ENABLE_ASYNC_SERVER
02771     void callback_raw_packet6_client_0_1_recv
02772        (const XrlCmdError &e,
02773         XrlRespCallback);
02774 #endif
02775 
02776     XrlCmdRT handle_policy_backend_0_1_configure(const XrlArgs& in, XrlCmdOT out);
02777 #ifdef XORP_ENABLE_ASYNC_SERVER
02778     void callback_policy_backend_0_1_configure
02779        (const XrlCmdError &e,
02780         XrlRespCallback);
02781 #endif
02782 
02783     XrlCmdRT handle_policy_backend_0_1_reset(const XrlArgs& in, XrlCmdOT out);
02784 #ifdef XORP_ENABLE_ASYNC_SERVER
02785     void callback_policy_backend_0_1_reset
02786        (const XrlCmdError &e,
02787         XrlRespCallback);
02788 #endif
02789 
02790     XrlCmdRT handle_policy_backend_0_1_push_routes(const XrlArgs& in, XrlCmdOT out);
02791 #ifdef XORP_ENABLE_ASYNC_SERVER
02792     void callback_policy_backend_0_1_push_routes
02793        (const XrlCmdError &e,
02794         XrlRespCallback);
02795 #endif
02796 
02797     XrlCmdRT handle_policy_redist6_0_1_add_route6(const XrlArgs& in, XrlCmdOT out);
02798 #ifdef XORP_ENABLE_ASYNC_SERVER
02799     void callback_policy_redist6_0_1_add_route6
02800        (const XrlCmdError &e,
02801         XrlRespCallback);
02802 #endif
02803 
02804     XrlCmdRT handle_policy_redist6_0_1_delete_route6(const XrlArgs& in, XrlCmdOT out);
02805 #ifdef XORP_ENABLE_ASYNC_SERVER
02806     void callback_policy_redist6_0_1_delete_route6
02807        (const XrlCmdError &e,
02808         XrlRespCallback);
02809 #endif
02810 
02811     XrlCmdRT handle_ospfv3_0_1_set_instance_id(const XrlArgs& in, XrlCmdOT out);
02812 #ifdef XORP_ENABLE_ASYNC_SERVER
02813     void callback_ospfv3_0_1_set_instance_id
02814        (const XrlCmdError &e,
02815         XrlRespCallback);
02816 #endif
02817 
02818     XrlCmdRT handle_ospfv3_0_1_set_router_id(const XrlArgs& in, XrlCmdOT out);
02819 #ifdef XORP_ENABLE_ASYNC_SERVER
02820     void callback_ospfv3_0_1_set_router_id
02821        (const XrlCmdError &e,
02822         XrlRespCallback);
02823 #endif
02824 
02825     XrlCmdRT handle_ospfv3_0_1_set_ip_router_alert(const XrlArgs& in, XrlCmdOT out);
02826 #ifdef XORP_ENABLE_ASYNC_SERVER
02827     void callback_ospfv3_0_1_set_ip_router_alert
02828        (const XrlCmdError &e,
02829         XrlRespCallback);
02830 #endif
02831 
02832     XrlCmdRT handle_ospfv3_0_1_create_area_router(const XrlArgs& in, XrlCmdOT out);
02833 #ifdef XORP_ENABLE_ASYNC_SERVER
02834     void callback_ospfv3_0_1_create_area_router
02835        (const XrlCmdError &e,
02836         XrlRespCallback);
02837 #endif
02838 
02839     XrlCmdRT handle_ospfv3_0_1_change_area_router_type(const XrlArgs& in, XrlCmdOT out);
02840 #ifdef XORP_ENABLE_ASYNC_SERVER
02841     void callback_ospfv3_0_1_change_area_router_type
02842        (const XrlCmdError &e,
02843         XrlRespCallback);
02844 #endif
02845 
02846     XrlCmdRT handle_ospfv3_0_1_destroy_area_router(const XrlArgs& in, XrlCmdOT out);
02847 #ifdef XORP_ENABLE_ASYNC_SERVER
02848     void callback_ospfv3_0_1_destroy_area_router
02849        (const XrlCmdError &e,
02850         XrlRespCallback);
02851 #endif
02852 
02853     XrlCmdRT handle_ospfv3_0_1_create_peer(const XrlArgs& in, XrlCmdOT out);
02854 #ifdef XORP_ENABLE_ASYNC_SERVER
02855     void callback_ospfv3_0_1_create_peer
02856        (const XrlCmdError &e,
02857         XrlRespCallback);
02858 #endif
02859 
02860     XrlCmdRT handle_ospfv3_0_1_delete_peer(const XrlArgs& in, XrlCmdOT out);
02861 #ifdef XORP_ENABLE_ASYNC_SERVER
02862     void callback_ospfv3_0_1_delete_peer
02863        (const XrlCmdError &e,
02864         XrlRespCallback);
02865 #endif
02866 
02867     XrlCmdRT handle_ospfv3_0_1_set_peer_state(const XrlArgs& in, XrlCmdOT out);
02868 #ifdef XORP_ENABLE_ASYNC_SERVER
02869     void callback_ospfv3_0_1_set_peer_state
02870        (const XrlCmdError &e,
02871         XrlRespCallback);
02872 #endif
02873 
02874     XrlCmdRT handle_ospfv3_0_1_add_address_peer(const XrlArgs& in, XrlCmdOT out);
02875 #ifdef XORP_ENABLE_ASYNC_SERVER
02876     void callback_ospfv3_0_1_add_address_peer
02877        (const XrlCmdError &e,
02878         XrlRespCallback);
02879 #endif
02880 
02881     XrlCmdRT handle_ospfv3_0_1_remove_address_peer(const XrlArgs& in, XrlCmdOT out);
02882 #ifdef XORP_ENABLE_ASYNC_SERVER
02883     void callback_ospfv3_0_1_remove_address_peer
02884        (const XrlCmdError &e,
02885         XrlRespCallback);
02886 #endif
02887 
02888     XrlCmdRT handle_ospfv3_0_1_set_address_state_peer(const XrlArgs& in, XrlCmdOT out);
02889 #ifdef XORP_ENABLE_ASYNC_SERVER
02890     void callback_ospfv3_0_1_set_address_state_peer
02891        (const XrlCmdError &e,
02892         XrlRespCallback);
02893 #endif
02894 
02895     XrlCmdRT handle_ospfv3_0_1_activate_peer(const XrlArgs& in, XrlCmdOT out);
02896 #ifdef XORP_ENABLE_ASYNC_SERVER
02897     void callback_ospfv3_0_1_activate_peer
02898        (const XrlCmdError &e,
02899         XrlRespCallback);
02900 #endif
02901 
02902     XrlCmdRT handle_ospfv3_0_1_update_peer(const XrlArgs& in, XrlCmdOT out);
02903 #ifdef XORP_ENABLE_ASYNC_SERVER
02904     void callback_ospfv3_0_1_update_peer
02905        (const XrlCmdError &e,
02906         XrlRespCallback);
02907 #endif
02908 
02909     XrlCmdRT handle_ospfv3_0_1_add_neighbour(const XrlArgs& in, XrlCmdOT out);
02910 #ifdef XORP_ENABLE_ASYNC_SERVER
02911     void callback_ospfv3_0_1_add_neighbour
02912        (const XrlCmdError &e,
02913         XrlRespCallback);
02914 #endif
02915 
02916     XrlCmdRT handle_ospfv3_0_1_remove_neighbour(const XrlArgs& in, XrlCmdOT out);
02917 #ifdef XORP_ENABLE_ASYNC_SERVER
02918     void callback_ospfv3_0_1_remove_neighbour
02919        (const XrlCmdError &e,
02920         XrlRespCallback);
02921 #endif
02922 
02923     XrlCmdRT handle_ospfv3_0_1_create_virtual_link(const XrlArgs& in, XrlCmdOT out);
02924 #ifdef XORP_ENABLE_ASYNC_SERVER
02925     void callback_ospfv3_0_1_create_virtual_link
02926        (const XrlCmdError &e,
02927         XrlRespCallback);
02928 #endif
02929 
02930     XrlCmdRT handle_ospfv3_0_1_delete_virtual_link(const XrlArgs& in, XrlCmdOT out);
02931 #ifdef XORP_ENABLE_ASYNC_SERVER
02932     void callback_ospfv3_0_1_delete_virtual_link
02933        (const XrlCmdError &e,
02934         XrlRespCallback);
02935 #endif
02936 
02937     XrlCmdRT handle_ospfv3_0_1_transit_area_virtual_link(const XrlArgs& in, XrlCmdOT out);
02938 #ifdef XORP_ENABLE_ASYNC_SERVER
02939     void callback_ospfv3_0_1_transit_area_virtual_link
02940        (const XrlCmdError &e,
02941         XrlRespCallback);
02942 #endif
02943 
02944     XrlCmdRT handle_ospfv3_0_1_set_interface_cost(const XrlArgs& in, XrlCmdOT out);
02945 #ifdef XORP_ENABLE_ASYNC_SERVER
02946     void callback_ospfv3_0_1_set_interface_cost
02947        (const XrlCmdError &e,
02948         XrlRespCallback);
02949 #endif
02950 
02951     XrlCmdRT handle_ospfv3_0_1_set_retransmit_interval(const XrlArgs& in, XrlCmdOT out);
02952 #ifdef XORP_ENABLE_ASYNC_SERVER
02953     void callback_ospfv3_0_1_set_retransmit_interval
02954        (const XrlCmdError &e,
02955         XrlRespCallback);
02956 #endif
02957 
02958     XrlCmdRT handle_ospfv3_0_1_set_inftransdelay(const XrlArgs& in, XrlCmdOT out);
02959 #ifdef XORP_ENABLE_ASYNC_SERVER
02960     void callback_ospfv3_0_1_set_inftransdelay
02961        (const XrlCmdError &e,
02962         XrlRespCallback);
02963 #endif
02964 
02965     XrlCmdRT handle_ospfv3_0_1_set_router_priority(const XrlArgs& in, XrlCmdOT out);
02966 #ifdef XORP_ENABLE_ASYNC_SERVER
02967     void callback_ospfv3_0_1_set_router_priority
02968        (const XrlCmdError &e,
02969         XrlRespCallback);
02970 #endif
02971 
02972     XrlCmdRT handle_ospfv3_0_1_set_hello_interval(const XrlArgs& in, XrlCmdOT out);
02973 #ifdef XORP_ENABLE_ASYNC_SERVER
02974     void callback_ospfv3_0_1_set_hello_interval
02975        (const XrlCmdError &e,
02976         XrlRespCallback);
02977 #endif
02978 
02979     XrlCmdRT handle_ospfv3_0_1_set_router_dead_interval(const XrlArgs& in, XrlCmdOT out);
02980 #ifdef XORP_ENABLE_ASYNC_SERVER
02981     void callback_ospfv3_0_1_set_router_dead_interval
02982        (const XrlCmdError &e,
02983         XrlRespCallback);
02984 #endif
02985 
02986     XrlCmdRT handle_ospfv3_0_1_set_passive(const XrlArgs& in, XrlCmdOT out);
02987 #ifdef XORP_ENABLE_ASYNC_SERVER
02988     void callback_ospfv3_0_1_set_passive
02989        (const XrlCmdError &e,
02990         XrlRespCallback);
02991 #endif
02992 
02993     XrlCmdRT handle_ospfv3_0_1_originate_default_route(const XrlArgs& in, XrlCmdOT out);
02994 #ifdef XORP_ENABLE_ASYNC_SERVER
02995     void callback_ospfv3_0_1_originate_default_route
02996        (const XrlCmdError &e,
02997         XrlRespCallback);
02998 #endif
02999 
03000     XrlCmdRT handle_ospfv3_0_1_stub_default_cost(const XrlArgs& in, XrlCmdOT out);
03001 #ifdef XORP_ENABLE_ASYNC_SERVER
03002     void callback_ospfv3_0_1_stub_default_cost
03003        (const XrlCmdError &e,
03004         XrlRespCallback);
03005 #endif
03006 
03007     XrlCmdRT handle_ospfv3_0_1_summaries(const XrlArgs& in, XrlCmdOT out);
03008 #ifdef XORP_ENABLE_ASYNC_SERVER
03009     void callback_ospfv3_0_1_summaries
03010        (const XrlCmdError &e,
03011         XrlRespCallback);
03012 #endif
03013 
03014     XrlCmdRT handle_ospfv3_0_1_area_range_add(const XrlArgs& in, XrlCmdOT out);
03015 #ifdef XORP_ENABLE_ASYNC_SERVER
03016     void callback_ospfv3_0_1_area_range_add
03017        (const XrlCmdError &e,
03018         XrlRespCallback);
03019 #endif
03020 
03021     XrlCmdRT handle_ospfv3_0_1_area_range_delete(const XrlArgs& in, XrlCmdOT out);
03022 #ifdef XORP_ENABLE_ASYNC_SERVER
03023     void callback_ospfv3_0_1_area_range_delete
03024        (const XrlCmdError &e,
03025         XrlRespCallback);
03026 #endif
03027 
03028     XrlCmdRT handle_ospfv3_0_1_area_range_change_state(const XrlArgs& in, XrlCmdOT out);
03029 #ifdef XORP_ENABLE_ASYNC_SERVER
03030     void callback_ospfv3_0_1_area_range_change_state
03031        (const XrlCmdError &e,
03032         XrlRespCallback);
03033 #endif
03034 
03035     XrlCmdRT handle_ospfv3_0_1_trace(const XrlArgs& in, XrlCmdOT out);
03036 #ifdef XORP_ENABLE_ASYNC_SERVER
03037     void callback_ospfv3_0_1_trace
03038        (const XrlCmdError &e,
03039         XrlRespCallback);
03040 #endif
03041 
03042     XrlCmdRT handle_ospfv3_0_1_get_lsa(const XrlArgs& in, XrlCmdOT out);
03043 #ifdef XORP_ENABLE_ASYNC_SERVER
03044     void callback_ospfv3_0_1_get_lsa
03045        (const XrlCmdError &e,
03046     const bool* arg_valid,
03047     const bool* arg_toohigh,
03048     const bool* arg_self,
03049     const vector<uint8_t>* arg_lsa,
03050         XrlRespCallback);
03051 #endif
03052 
03053     XrlCmdRT handle_ospfv3_0_1_get_area_list(const XrlArgs& in, XrlCmdOT out);
03054 #ifdef XORP_ENABLE_ASYNC_SERVER
03055     void callback_ospfv3_0_1_get_area_list
03056        (const XrlCmdError &e,
03057     const XrlAtomList* arg_areas,
03058         XrlRespCallback);
03059 #endif
03060 
03061     XrlCmdRT handle_ospfv3_0_1_get_neighbour_list(const XrlArgs& in, XrlCmdOT out);
03062 #ifdef XORP_ENABLE_ASYNC_SERVER
03063     void callback_ospfv3_0_1_get_neighbour_list
03064        (const XrlCmdError &e,
03065     const XrlAtomList* arg_areas,
03066         XrlRespCallback);
03067 #endif
03068 
03069     XrlCmdRT handle_ospfv3_0_1_get_neighbour_info(const XrlArgs& in, XrlCmdOT out);
03070 #ifdef XORP_ENABLE_ASYNC_SERVER
03071     void callback_ospfv3_0_1_get_neighbour_info
03072        (const XrlCmdError &e,
03073     const string* arg_address,
03074     const string* arg_interface,
03075     const string* arg_state,
03076     const IPv4* arg_rid,
03077     const uint32_t* arg_priority,
03078     const uint32_t* arg_deadtime,
03079     const IPv4* arg_area,
03080     const uint32_t* arg_opt,
03081     const IPv4* arg_dr,
03082     const IPv4* arg_bdr,
03083     const uint32_t* arg_up,
03084     const uint32_t* arg_adjacent,
03085         XrlRespCallback);
03086 #endif
03087 
03088     XrlCmdRT handle_ospfv3_0_1_clear_database(const XrlArgs& in, XrlCmdOT out);
03089 #ifdef XORP_ENABLE_ASYNC_SERVER
03090     void callback_ospfv3_0_1_clear_database
03091        (const XrlCmdError &e,
03092         XrlRespCallback);
03093 #endif
03094 
03095     void add_handlers();
03096     void remove_handlers();
03097 
03098     struct handler_table {
03099         const char *name;
03100         XrlCmdRT (XrlOspfv3TargetBase::*method)(const XrlArgs&, XrlCmdOT);
03101     };
03102 
03103     static const struct handler_table handlers[];
03104     static const size_t num_handlers;
03105 };
03106 
03107 #endif // __XRL_TARGETS_OSPFV3_BASE_HH__
 All Classes Namespaces Functions Variables Typedefs Enumerations