xorp

fib2mrib_base.hh

00001 /*
00002  * obj/i386-pc-mingw32/xrl/targets/fib2mrib_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_FIB2MRIB_BASE_HH__
00016 #define __XRL_TARGETS_FIB2MRIB_BASE_HH__
00017 
00018 #undef XORP_LIBRARY_NAME
00019 #define XORP_LIBRARY_NAME "XrlFib2mribTarget"
00020 
00021 #include "libxorp/xlog.h"
00022 #include "libxipc/xrl_cmd_map.hh"
00023 
00024 class XrlFib2mribTargetBase {
00025 protected:
00026     XrlCmdMap* _cmds;
00027 
00028 public:
00036     XrlFib2mribTargetBase(XrlCmdMap* cmds = 0);
00037 
00043     virtual ~XrlFib2mribTargetBase();
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 "fib2mrib/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 
00339     virtual XrlCmdError finder_event_observer_0_1_xrl_target_birth(
00340     // Input values,
00341     const string&   target_class,
00342     const string&   target_instance) = 0;
00343 #ifdef XORP_ENABLE_ASYNC_SERVER
00344     typedef
00345     XorpCallback1<void, const XrlCmdError &>::RefPtr
00346     FinderEventObserver01XrlTargetBirthRF;
00347 
00348     class FinderEventObserver01XrlTargetBirthCB {
00349         FinderEventObserver01XrlTargetBirthRF cb;
00350 
00351     public:
00352         operator const FinderEventObserver01XrlTargetBirthRF& () const { return cb; }
00353         const FinderEventObserver01XrlTargetBirthRF& operator ->() const { return cb; }
00354         FinderEventObserver01XrlTargetBirthCB(const FinderEventObserver01XrlTargetBirthRF& cb)
00355           : cb(cb) { }
00356 
00357         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00358 
00359         void respond() const {
00360             cb->dispatch(XrlCmdError::OKAY());
00361         }
00362     };
00363 
00364     struct FinderEventObserver01XrlTargetBirthRsp :
00365       public FinderEventObserver01XrlTargetBirthCB {
00366         FinderEventObserver01XrlTargetBirthRsp(const FinderEventObserver01XrlTargetBirthRF& cb)
00367           : FinderEventObserver01XrlTargetBirthCB(cb) { }
00368 
00369     };
00370 
00371     virtual void async_finder_event_observer_0_1_xrl_target_birth
00372        (
00373     const string&   target_class,
00374     const string&   target_instance,
00375     FinderEventObserver01XrlTargetBirthCB);
00376 #endif
00377 
00387     virtual XrlCmdError finder_event_observer_0_1_xrl_target_death(
00388     // Input values,
00389     const string&   target_class,
00390     const string&   target_instance) = 0;
00391 #ifdef XORP_ENABLE_ASYNC_SERVER
00392     typedef
00393     XorpCallback1<void, const XrlCmdError &>::RefPtr
00394     FinderEventObserver01XrlTargetDeathRF;
00395 
00396     class FinderEventObserver01XrlTargetDeathCB {
00397         FinderEventObserver01XrlTargetDeathRF cb;
00398 
00399     public:
00400         operator const FinderEventObserver01XrlTargetDeathRF& () const { return cb; }
00401         const FinderEventObserver01XrlTargetDeathRF& operator ->() const { return cb; }
00402         FinderEventObserver01XrlTargetDeathCB(const FinderEventObserver01XrlTargetDeathRF& cb)
00403           : cb(cb) { }
00404 
00405         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00406 
00407         void respond() const {
00408             cb->dispatch(XrlCmdError::OKAY());
00409         }
00410     };
00411 
00412     struct FinderEventObserver01XrlTargetDeathRsp :
00413       public FinderEventObserver01XrlTargetDeathCB {
00414         FinderEventObserver01XrlTargetDeathRsp(const FinderEventObserver01XrlTargetDeathRF& cb)
00415           : FinderEventObserver01XrlTargetDeathCB(cb) { }
00416 
00417     };
00418 
00419     virtual void async_finder_event_observer_0_1_xrl_target_death
00420        (
00421     const string&   target_class,
00422     const string&   target_instance,
00423     FinderEventObserver01XrlTargetDeathCB);
00424 #endif
00425 
00452     virtual XrlCmdError fea_fib_client_0_1_add_route4(
00453     // Input values,
00454     const IPv4Net&  network,
00455     const IPv4& nexthop,
00456     const string&   ifname,
00457     const string&   vifname,
00458     const uint32_t& metric,
00459     const uint32_t& admin_distance,
00460     const string&   protocol_origin,
00461     const bool& xorp_route) = 0;
00462 #ifdef XORP_ENABLE_ASYNC_SERVER
00463     typedef
00464     XorpCallback1<void, const XrlCmdError &>::RefPtr
00465     FeaFibClient01AddRoute4RF;
00466 
00467     class FeaFibClient01AddRoute4CB {
00468         FeaFibClient01AddRoute4RF cb;
00469 
00470     public:
00471         operator const FeaFibClient01AddRoute4RF& () const { return cb; }
00472         const FeaFibClient01AddRoute4RF& operator ->() const { return cb; }
00473         FeaFibClient01AddRoute4CB(const FeaFibClient01AddRoute4RF& 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 FeaFibClient01AddRoute4Rsp :
00484       public FeaFibClient01AddRoute4CB {
00485         FeaFibClient01AddRoute4Rsp(const FeaFibClient01AddRoute4RF& cb)
00486           : FeaFibClient01AddRoute4CB(cb) { }
00487 
00488     };
00489 
00490     virtual void async_fea_fib_client_0_1_add_route4
00491        (
00492     const IPv4Net&  network,
00493     const IPv4& nexthop,
00494     const string&   ifname,
00495     const string&   vifname,
00496     const uint32_t& metric,
00497     const uint32_t& admin_distance,
00498     const string&   protocol_origin,
00499     const bool& xorp_route,
00500     FeaFibClient01AddRoute4CB);
00501 #endif
00502 
00529     virtual XrlCmdError fea_fib_client_0_1_replace_route4(
00530     // Input values,
00531     const IPv4Net&  network,
00532     const IPv4& nexthop,
00533     const string&   ifname,
00534     const string&   vifname,
00535     const uint32_t& metric,
00536     const uint32_t& admin_distance,
00537     const string&   protocol_origin,
00538     const bool& xorp_route) = 0;
00539 #ifdef XORP_ENABLE_ASYNC_SERVER
00540     typedef
00541     XorpCallback1<void, const XrlCmdError &>::RefPtr
00542     FeaFibClient01ReplaceRoute4RF;
00543 
00544     class FeaFibClient01ReplaceRoute4CB {
00545         FeaFibClient01ReplaceRoute4RF cb;
00546 
00547     public:
00548         operator const FeaFibClient01ReplaceRoute4RF& () const { return cb; }
00549         const FeaFibClient01ReplaceRoute4RF& operator ->() const { return cb; }
00550         FeaFibClient01ReplaceRoute4CB(const FeaFibClient01ReplaceRoute4RF& cb)
00551           : cb(cb) { }
00552 
00553         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00554 
00555         void respond() const {
00556             cb->dispatch(XrlCmdError::OKAY());
00557         }
00558     };
00559 
00560     struct FeaFibClient01ReplaceRoute4Rsp :
00561       public FeaFibClient01ReplaceRoute4CB {
00562         FeaFibClient01ReplaceRoute4Rsp(const FeaFibClient01ReplaceRoute4RF& cb)
00563           : FeaFibClient01ReplaceRoute4CB(cb) { }
00564 
00565     };
00566 
00567     virtual void async_fea_fib_client_0_1_replace_route4
00568        (
00569     const IPv4Net&  network,
00570     const IPv4& nexthop,
00571     const string&   ifname,
00572     const string&   vifname,
00573     const uint32_t& metric,
00574     const uint32_t& admin_distance,
00575     const string&   protocol_origin,
00576     const bool& xorp_route,
00577     FeaFibClient01ReplaceRoute4CB);
00578 #endif
00579 
00593     virtual XrlCmdError fea_fib_client_0_1_delete_route4(
00594     // Input values,
00595     const IPv4Net&  network,
00596     const string&   ifname,
00597     const string&   vifname) = 0;
00598 #ifdef XORP_ENABLE_ASYNC_SERVER
00599     typedef
00600     XorpCallback1<void, const XrlCmdError &>::RefPtr
00601     FeaFibClient01DeleteRoute4RF;
00602 
00603     class FeaFibClient01DeleteRoute4CB {
00604         FeaFibClient01DeleteRoute4RF cb;
00605 
00606     public:
00607         operator const FeaFibClient01DeleteRoute4RF& () const { return cb; }
00608         const FeaFibClient01DeleteRoute4RF& operator ->() const { return cb; }
00609         FeaFibClient01DeleteRoute4CB(const FeaFibClient01DeleteRoute4RF& cb)
00610           : cb(cb) { }
00611 
00612         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00613 
00614         void respond() const {
00615             cb->dispatch(XrlCmdError::OKAY());
00616         }
00617     };
00618 
00619     struct FeaFibClient01DeleteRoute4Rsp :
00620       public FeaFibClient01DeleteRoute4CB {
00621         FeaFibClient01DeleteRoute4Rsp(const FeaFibClient01DeleteRoute4RF& cb)
00622           : FeaFibClient01DeleteRoute4CB(cb) { }
00623 
00624     };
00625 
00626     virtual void async_fea_fib_client_0_1_delete_route4
00627        (
00628     const IPv4Net&  network,
00629     const string&   ifname,
00630     const string&   vifname,
00631     FeaFibClient01DeleteRoute4CB);
00632 #endif
00633 
00644     virtual XrlCmdError fea_fib_client_0_1_resolve_route4(
00645     // Input values,
00646     const IPv4Net&  network) = 0;
00647 #ifdef XORP_ENABLE_ASYNC_SERVER
00648     typedef
00649     XorpCallback1<void, const XrlCmdError &>::RefPtr
00650     FeaFibClient01ResolveRoute4RF;
00651 
00652     class FeaFibClient01ResolveRoute4CB {
00653         FeaFibClient01ResolveRoute4RF cb;
00654 
00655     public:
00656         operator const FeaFibClient01ResolveRoute4RF& () const { return cb; }
00657         const FeaFibClient01ResolveRoute4RF& operator ->() const { return cb; }
00658         FeaFibClient01ResolveRoute4CB(const FeaFibClient01ResolveRoute4RF& cb)
00659           : cb(cb) { }
00660 
00661         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00662 
00663         void respond() const {
00664             cb->dispatch(XrlCmdError::OKAY());
00665         }
00666     };
00667 
00668     struct FeaFibClient01ResolveRoute4Rsp :
00669       public FeaFibClient01ResolveRoute4CB {
00670         FeaFibClient01ResolveRoute4Rsp(const FeaFibClient01ResolveRoute4RF& cb)
00671           : FeaFibClient01ResolveRoute4CB(cb) { }
00672 
00673     };
00674 
00675     virtual void async_fea_fib_client_0_1_resolve_route4
00676        (
00677     const IPv4Net&  network,
00678     FeaFibClient01ResolveRoute4CB);
00679 #endif
00680 
00681     virtual XrlCmdError fea_fib_client_0_1_add_route6(
00682     // Input values,
00683     const IPv6Net&  network,
00684     const IPv6& nexthop,
00685     const string&   ifname,
00686     const string&   vifname,
00687     const uint32_t& metric,
00688     const uint32_t& admin_distance,
00689     const string&   protocol_origin,
00690     const bool& xorp_route) = 0;
00691 #ifdef XORP_ENABLE_ASYNC_SERVER
00692     typedef
00693     XorpCallback1<void, const XrlCmdError &>::RefPtr
00694     FeaFibClient01AddRoute6RF;
00695 
00696     class FeaFibClient01AddRoute6CB {
00697         FeaFibClient01AddRoute6RF cb;
00698 
00699     public:
00700         operator const FeaFibClient01AddRoute6RF& () const { return cb; }
00701         const FeaFibClient01AddRoute6RF& operator ->() const { return cb; }
00702         FeaFibClient01AddRoute6CB(const FeaFibClient01AddRoute6RF& cb)
00703           : cb(cb) { }
00704 
00705         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00706 
00707         void respond() const {
00708             cb->dispatch(XrlCmdError::OKAY());
00709         }
00710     };
00711 
00712     struct FeaFibClient01AddRoute6Rsp :
00713       public FeaFibClient01AddRoute6CB {
00714         FeaFibClient01AddRoute6Rsp(const FeaFibClient01AddRoute6RF& cb)
00715           : FeaFibClient01AddRoute6CB(cb) { }
00716 
00717     };
00718 
00719     virtual void async_fea_fib_client_0_1_add_route6
00720        (
00721     const IPv6Net&  network,
00722     const IPv6& nexthop,
00723     const string&   ifname,
00724     const string&   vifname,
00725     const uint32_t& metric,
00726     const uint32_t& admin_distance,
00727     const string&   protocol_origin,
00728     const bool& xorp_route,
00729     FeaFibClient01AddRoute6CB);
00730 #endif
00731 
00732     virtual XrlCmdError fea_fib_client_0_1_resolve_route6(
00733     // Input values,
00734     const IPv6Net&  network) = 0;
00735 #ifdef XORP_ENABLE_ASYNC_SERVER
00736     typedef
00737     XorpCallback1<void, const XrlCmdError &>::RefPtr
00738     FeaFibClient01ResolveRoute6RF;
00739 
00740     class FeaFibClient01ResolveRoute6CB {
00741         FeaFibClient01ResolveRoute6RF cb;
00742 
00743     public:
00744         operator const FeaFibClient01ResolveRoute6RF& () const { return cb; }
00745         const FeaFibClient01ResolveRoute6RF& operator ->() const { return cb; }
00746         FeaFibClient01ResolveRoute6CB(const FeaFibClient01ResolveRoute6RF& cb)
00747           : cb(cb) { }
00748 
00749         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00750 
00751         void respond() const {
00752             cb->dispatch(XrlCmdError::OKAY());
00753         }
00754     };
00755 
00756     struct FeaFibClient01ResolveRoute6Rsp :
00757       public FeaFibClient01ResolveRoute6CB {
00758         FeaFibClient01ResolveRoute6Rsp(const FeaFibClient01ResolveRoute6RF& cb)
00759           : FeaFibClient01ResolveRoute6CB(cb) { }
00760 
00761     };
00762 
00763     virtual void async_fea_fib_client_0_1_resolve_route6
00764        (
00765     const IPv6Net&  network,
00766     FeaFibClient01ResolveRoute6CB);
00767 #endif
00768 
00769     virtual XrlCmdError fea_fib_client_0_1_replace_route6(
00770     // Input values,
00771     const IPv6Net&  network,
00772     const IPv6& nexthop,
00773     const string&   ifname,
00774     const string&   vifname,
00775     const uint32_t& metric,
00776     const uint32_t& admin_distance,
00777     const string&   protocol_origin,
00778     const bool& xorp_route) = 0;
00779 #ifdef XORP_ENABLE_ASYNC_SERVER
00780     typedef
00781     XorpCallback1<void, const XrlCmdError &>::RefPtr
00782     FeaFibClient01ReplaceRoute6RF;
00783 
00784     class FeaFibClient01ReplaceRoute6CB {
00785         FeaFibClient01ReplaceRoute6RF cb;
00786 
00787     public:
00788         operator const FeaFibClient01ReplaceRoute6RF& () const { return cb; }
00789         const FeaFibClient01ReplaceRoute6RF& operator ->() const { return cb; }
00790         FeaFibClient01ReplaceRoute6CB(const FeaFibClient01ReplaceRoute6RF& cb)
00791           : cb(cb) { }
00792 
00793         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00794 
00795         void respond() const {
00796             cb->dispatch(XrlCmdError::OKAY());
00797         }
00798     };
00799 
00800     struct FeaFibClient01ReplaceRoute6Rsp :
00801       public FeaFibClient01ReplaceRoute6CB {
00802         FeaFibClient01ReplaceRoute6Rsp(const FeaFibClient01ReplaceRoute6RF& cb)
00803           : FeaFibClient01ReplaceRoute6CB(cb) { }
00804 
00805     };
00806 
00807     virtual void async_fea_fib_client_0_1_replace_route6
00808        (
00809     const IPv6Net&  network,
00810     const IPv6& nexthop,
00811     const string&   ifname,
00812     const string&   vifname,
00813     const uint32_t& metric,
00814     const uint32_t& admin_distance,
00815     const string&   protocol_origin,
00816     const bool& xorp_route,
00817     FeaFibClient01ReplaceRoute6CB);
00818 #endif
00819 
00820     virtual XrlCmdError fea_fib_client_0_1_delete_route6(
00821     // Input values,
00822     const IPv6Net&  network,
00823     const string&   ifname,
00824     const string&   vifname) = 0;
00825 #ifdef XORP_ENABLE_ASYNC_SERVER
00826     typedef
00827     XorpCallback1<void, const XrlCmdError &>::RefPtr
00828     FeaFibClient01DeleteRoute6RF;
00829 
00830     class FeaFibClient01DeleteRoute6CB {
00831         FeaFibClient01DeleteRoute6RF cb;
00832 
00833     public:
00834         operator const FeaFibClient01DeleteRoute6RF& () const { return cb; }
00835         const FeaFibClient01DeleteRoute6RF& operator ->() const { return cb; }
00836         FeaFibClient01DeleteRoute6CB(const FeaFibClient01DeleteRoute6RF& cb)
00837           : cb(cb) { }
00838 
00839         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00840 
00841         void respond() const {
00842             cb->dispatch(XrlCmdError::OKAY());
00843         }
00844     };
00845 
00846     struct FeaFibClient01DeleteRoute6Rsp :
00847       public FeaFibClient01DeleteRoute6CB {
00848         FeaFibClient01DeleteRoute6Rsp(const FeaFibClient01DeleteRoute6RF& cb)
00849           : FeaFibClient01DeleteRoute6CB(cb) { }
00850 
00851     };
00852 
00853     virtual void async_fea_fib_client_0_1_delete_route6
00854        (
00855     const IPv6Net&  network,
00856     const string&   ifname,
00857     const string&   vifname,
00858     FeaFibClient01DeleteRoute6CB);
00859 #endif
00860 
00870     virtual XrlCmdError policy_backend_0_1_configure(
00871     // Input values,
00872     const uint32_t& filter,
00873     const string&   conf) = 0;
00874 #ifdef XORP_ENABLE_ASYNC_SERVER
00875     typedef
00876     XorpCallback1<void, const XrlCmdError &>::RefPtr
00877     PolicyBackend01ConfigureRF;
00878 
00879     class PolicyBackend01ConfigureCB {
00880         PolicyBackend01ConfigureRF cb;
00881 
00882     public:
00883         operator const PolicyBackend01ConfigureRF& () const { return cb; }
00884         const PolicyBackend01ConfigureRF& operator ->() const { return cb; }
00885         PolicyBackend01ConfigureCB(const PolicyBackend01ConfigureRF& cb)
00886           : cb(cb) { }
00887 
00888         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00889 
00890         void respond() const {
00891             cb->dispatch(XrlCmdError::OKAY());
00892         }
00893     };
00894 
00895     struct PolicyBackend01ConfigureRsp :
00896       public PolicyBackend01ConfigureCB {
00897         PolicyBackend01ConfigureRsp(const PolicyBackend01ConfigureRF& cb)
00898           : PolicyBackend01ConfigureCB(cb) { }
00899 
00900     };
00901 
00902     virtual void async_policy_backend_0_1_configure
00903        (
00904     const uint32_t& filter,
00905     const string&   conf,
00906     PolicyBackend01ConfigureCB);
00907 #endif
00908 
00916     virtual XrlCmdError policy_backend_0_1_reset(
00917     // Input values,
00918     const uint32_t& filter) = 0;
00919 #ifdef XORP_ENABLE_ASYNC_SERVER
00920     typedef
00921     XorpCallback1<void, const XrlCmdError &>::RefPtr
00922     PolicyBackend01ResetRF;
00923 
00924     class PolicyBackend01ResetCB {
00925         PolicyBackend01ResetRF cb;
00926 
00927     public:
00928         operator const PolicyBackend01ResetRF& () const { return cb; }
00929         const PolicyBackend01ResetRF& operator ->() const { return cb; }
00930         PolicyBackend01ResetCB(const PolicyBackend01ResetRF& cb)
00931           : cb(cb) { }
00932 
00933         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00934 
00935         void respond() const {
00936             cb->dispatch(XrlCmdError::OKAY());
00937         }
00938     };
00939 
00940     struct PolicyBackend01ResetRsp :
00941       public PolicyBackend01ResetCB {
00942         PolicyBackend01ResetRsp(const PolicyBackend01ResetRF& cb)
00943           : PolicyBackend01ResetCB(cb) { }
00944 
00945     };
00946 
00947     virtual void async_policy_backend_0_1_reset
00948        (
00949     const uint32_t& filter,
00950     PolicyBackend01ResetCB);
00951 #endif
00952 
00958     virtual XrlCmdError policy_backend_0_1_push_routes() = 0;
00959 #ifdef XORP_ENABLE_ASYNC_SERVER
00960     typedef
00961     XorpCallback1<void, const XrlCmdError &>::RefPtr
00962     PolicyBackend01PushRoutesRF;
00963 
00964     class PolicyBackend01PushRoutesCB {
00965         PolicyBackend01PushRoutesRF cb;
00966 
00967     public:
00968         operator const PolicyBackend01PushRoutesRF& () const { return cb; }
00969         const PolicyBackend01PushRoutesRF& operator ->() const { return cb; }
00970         PolicyBackend01PushRoutesCB(const PolicyBackend01PushRoutesRF& cb)
00971           : cb(cb) { }
00972 
00973         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00974 
00975         void respond() const {
00976             cb->dispatch(XrlCmdError::OKAY());
00977         }
00978     };
00979 
00980     struct PolicyBackend01PushRoutesRsp :
00981       public PolicyBackend01PushRoutesCB {
00982         PolicyBackend01PushRoutesRsp(const PolicyBackend01PushRoutesRF& cb)
00983           : PolicyBackend01PushRoutesCB(cb) { }
00984 
00985     };
00986 
00987     virtual void async_policy_backend_0_1_push_routes
00988        (
00989     PolicyBackend01PushRoutesCB);
00990 #endif
00991 
00999     virtual XrlCmdError fib2mrib_0_1_enable_fib2mrib(
01000     // Input values,
01001     const bool& enable) = 0;
01002 #ifdef XORP_ENABLE_ASYNC_SERVER
01003     typedef
01004     XorpCallback1<void, const XrlCmdError &>::RefPtr
01005     Fib2Mrib01EnableFib2MribRF;
01006 
01007     class Fib2Mrib01EnableFib2MribCB {
01008         Fib2Mrib01EnableFib2MribRF cb;
01009 
01010     public:
01011         operator const Fib2Mrib01EnableFib2MribRF& () const { return cb; }
01012         const Fib2Mrib01EnableFib2MribRF& operator ->() const { return cb; }
01013         Fib2Mrib01EnableFib2MribCB(const Fib2Mrib01EnableFib2MribRF& cb)
01014           : cb(cb) { }
01015 
01016         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01017 
01018         void respond() const {
01019             cb->dispatch(XrlCmdError::OKAY());
01020         }
01021     };
01022 
01023     struct Fib2Mrib01EnableFib2MribRsp :
01024       public Fib2Mrib01EnableFib2MribCB {
01025         Fib2Mrib01EnableFib2MribRsp(const Fib2Mrib01EnableFib2MribRF& cb)
01026           : Fib2Mrib01EnableFib2MribCB(cb) { }
01027 
01028     };
01029 
01030     virtual void async_fib2mrib_0_1_enable_fib2mrib
01031        (
01032     const bool& enable,
01033     Fib2Mrib01EnableFib2MribCB);
01034 #endif
01035 
01036     virtual XrlCmdError fib2mrib_0_1_start_fib2mrib() = 0;
01037 #ifdef XORP_ENABLE_ASYNC_SERVER
01038     typedef
01039     XorpCallback1<void, const XrlCmdError &>::RefPtr
01040     Fib2Mrib01StartFib2MribRF;
01041 
01042     class Fib2Mrib01StartFib2MribCB {
01043         Fib2Mrib01StartFib2MribRF cb;
01044 
01045     public:
01046         operator const Fib2Mrib01StartFib2MribRF& () const { return cb; }
01047         const Fib2Mrib01StartFib2MribRF& operator ->() const { return cb; }
01048         Fib2Mrib01StartFib2MribCB(const Fib2Mrib01StartFib2MribRF& cb)
01049           : cb(cb) { }
01050 
01051         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01052 
01053         void respond() const {
01054             cb->dispatch(XrlCmdError::OKAY());
01055         }
01056     };
01057 
01058     struct Fib2Mrib01StartFib2MribRsp :
01059       public Fib2Mrib01StartFib2MribCB {
01060         Fib2Mrib01StartFib2MribRsp(const Fib2Mrib01StartFib2MribRF& cb)
01061           : Fib2Mrib01StartFib2MribCB(cb) { }
01062 
01063     };
01064 
01065     virtual void async_fib2mrib_0_1_start_fib2mrib
01066        (
01067     Fib2Mrib01StartFib2MribCB);
01068 #endif
01069 
01070     virtual XrlCmdError fib2mrib_0_1_stop_fib2mrib() = 0;
01071 #ifdef XORP_ENABLE_ASYNC_SERVER
01072     typedef
01073     XorpCallback1<void, const XrlCmdError &>::RefPtr
01074     Fib2Mrib01StopFib2MribRF;
01075 
01076     class Fib2Mrib01StopFib2MribCB {
01077         Fib2Mrib01StopFib2MribRF cb;
01078 
01079     public:
01080         operator const Fib2Mrib01StopFib2MribRF& () const { return cb; }
01081         const Fib2Mrib01StopFib2MribRF& operator ->() const { return cb; }
01082         Fib2Mrib01StopFib2MribCB(const Fib2Mrib01StopFib2MribRF& cb)
01083           : cb(cb) { }
01084 
01085         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01086 
01087         void respond() const {
01088             cb->dispatch(XrlCmdError::OKAY());
01089         }
01090     };
01091 
01092     struct Fib2Mrib01StopFib2MribRsp :
01093       public Fib2Mrib01StopFib2MribCB {
01094         Fib2Mrib01StopFib2MribRsp(const Fib2Mrib01StopFib2MribRF& cb)
01095           : Fib2Mrib01StopFib2MribCB(cb) { }
01096 
01097     };
01098 
01099     virtual void async_fib2mrib_0_1_stop_fib2mrib
01100        (
01101     Fib2Mrib01StopFib2MribCB);
01102 #endif
01103 
01111     virtual XrlCmdError fib2mrib_0_1_enable_log_trace_all(
01112     // Input values,
01113     const bool& enable) = 0;
01114 #ifdef XORP_ENABLE_ASYNC_SERVER
01115     typedef
01116     XorpCallback1<void, const XrlCmdError &>::RefPtr
01117     Fib2Mrib01EnableLogTraceAllRF;
01118 
01119     class Fib2Mrib01EnableLogTraceAllCB {
01120         Fib2Mrib01EnableLogTraceAllRF cb;
01121 
01122     public:
01123         operator const Fib2Mrib01EnableLogTraceAllRF& () const { return cb; }
01124         const Fib2Mrib01EnableLogTraceAllRF& operator ->() const { return cb; }
01125         Fib2Mrib01EnableLogTraceAllCB(const Fib2Mrib01EnableLogTraceAllRF& cb)
01126           : cb(cb) { }
01127 
01128         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
01129 
01130         void respond() const {
01131             cb->dispatch(XrlCmdError::OKAY());
01132         }
01133     };
01134 
01135     struct Fib2Mrib01EnableLogTraceAllRsp :
01136       public Fib2Mrib01EnableLogTraceAllCB {
01137         Fib2Mrib01EnableLogTraceAllRsp(const Fib2Mrib01EnableLogTraceAllRF& cb)
01138           : Fib2Mrib01EnableLogTraceAllCB(cb) { }
01139 
01140     };
01141 
01142     virtual void async_fib2mrib_0_1_enable_log_trace_all
01143        (
01144     const bool& enable,
01145     Fib2Mrib01EnableLogTraceAllCB);
01146 #endif
01147 
01148 private:
01149     XrlCmdRT handle_common_0_1_get_target_name(const XrlArgs& in, XrlCmdOT out);
01150 #ifdef XORP_ENABLE_ASYNC_SERVER
01151     void callback_common_0_1_get_target_name
01152        (const XrlCmdError &e,
01153     const string* arg_name,
01154         XrlRespCallback);
01155 #endif
01156 
01157     XrlCmdRT handle_common_0_1_get_version(const XrlArgs& in, XrlCmdOT out);
01158 #ifdef XORP_ENABLE_ASYNC_SERVER
01159     void callback_common_0_1_get_version
01160        (const XrlCmdError &e,
01161     const string* arg_version,
01162         XrlRespCallback);
01163 #endif
01164 
01165     XrlCmdRT handle_common_0_1_get_status(const XrlArgs& in, XrlCmdOT out);
01166 #ifdef XORP_ENABLE_ASYNC_SERVER
01167     void callback_common_0_1_get_status
01168        (const XrlCmdError &e,
01169     const uint32_t* arg_status,
01170     const string* arg_reason,
01171         XrlRespCallback);
01172 #endif
01173 
01174     XrlCmdRT handle_common_0_1_shutdown(const XrlArgs& in, XrlCmdOT out);
01175 #ifdef XORP_ENABLE_ASYNC_SERVER
01176     void callback_common_0_1_shutdown
01177        (const XrlCmdError &e,
01178         XrlRespCallback);
01179 #endif
01180 
01181     XrlCmdRT handle_common_0_1_startup(const XrlArgs& in, XrlCmdOT out);
01182 #ifdef XORP_ENABLE_ASYNC_SERVER
01183     void callback_common_0_1_startup
01184        (const XrlCmdError &e,
01185         XrlRespCallback);
01186 #endif
01187 
01188     XrlCmdRT handle_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& in, XrlCmdOT out);
01189 #ifdef XORP_ENABLE_ASYNC_SERVER
01190     void callback_finder_event_observer_0_1_xrl_target_birth
01191        (const XrlCmdError &e,
01192         XrlRespCallback);
01193 #endif
01194 
01195     XrlCmdRT handle_finder_event_observer_0_1_xrl_target_death(const XrlArgs& in, XrlCmdOT out);
01196 #ifdef XORP_ENABLE_ASYNC_SERVER
01197     void callback_finder_event_observer_0_1_xrl_target_death
01198        (const XrlCmdError &e,
01199         XrlRespCallback);
01200 #endif
01201 
01202     XrlCmdRT handle_fea_fib_client_0_1_add_route4(const XrlArgs& in, XrlCmdOT out);
01203 #ifdef XORP_ENABLE_ASYNC_SERVER
01204     void callback_fea_fib_client_0_1_add_route4
01205        (const XrlCmdError &e,
01206         XrlRespCallback);
01207 #endif
01208 
01209     XrlCmdRT handle_fea_fib_client_0_1_replace_route4(const XrlArgs& in, XrlCmdOT out);
01210 #ifdef XORP_ENABLE_ASYNC_SERVER
01211     void callback_fea_fib_client_0_1_replace_route4
01212        (const XrlCmdError &e,
01213         XrlRespCallback);
01214 #endif
01215 
01216     XrlCmdRT handle_fea_fib_client_0_1_delete_route4(const XrlArgs& in, XrlCmdOT out);
01217 #ifdef XORP_ENABLE_ASYNC_SERVER
01218     void callback_fea_fib_client_0_1_delete_route4
01219        (const XrlCmdError &e,
01220         XrlRespCallback);
01221 #endif
01222 
01223     XrlCmdRT handle_fea_fib_client_0_1_resolve_route4(const XrlArgs& in, XrlCmdOT out);
01224 #ifdef XORP_ENABLE_ASYNC_SERVER
01225     void callback_fea_fib_client_0_1_resolve_route4
01226        (const XrlCmdError &e,
01227         XrlRespCallback);
01228 #endif
01229 
01230     XrlCmdRT handle_fea_fib_client_0_1_add_route6(const XrlArgs& in, XrlCmdOT out);
01231 #ifdef XORP_ENABLE_ASYNC_SERVER
01232     void callback_fea_fib_client_0_1_add_route6
01233        (const XrlCmdError &e,
01234         XrlRespCallback);
01235 #endif
01236 
01237     XrlCmdRT handle_fea_fib_client_0_1_resolve_route6(const XrlArgs& in, XrlCmdOT out);
01238 #ifdef XORP_ENABLE_ASYNC_SERVER
01239     void callback_fea_fib_client_0_1_resolve_route6
01240        (const XrlCmdError &e,
01241         XrlRespCallback);
01242 #endif
01243 
01244     XrlCmdRT handle_fea_fib_client_0_1_replace_route6(const XrlArgs& in, XrlCmdOT out);
01245 #ifdef XORP_ENABLE_ASYNC_SERVER
01246     void callback_fea_fib_client_0_1_replace_route6
01247        (const XrlCmdError &e,
01248         XrlRespCallback);
01249 #endif
01250 
01251     XrlCmdRT handle_fea_fib_client_0_1_delete_route6(const XrlArgs& in, XrlCmdOT out);
01252 #ifdef XORP_ENABLE_ASYNC_SERVER
01253     void callback_fea_fib_client_0_1_delete_route6
01254        (const XrlCmdError &e,
01255         XrlRespCallback);
01256 #endif
01257 
01258     XrlCmdRT handle_policy_backend_0_1_configure(const XrlArgs& in, XrlCmdOT out);
01259 #ifdef XORP_ENABLE_ASYNC_SERVER
01260     void callback_policy_backend_0_1_configure
01261        (const XrlCmdError &e,
01262         XrlRespCallback);
01263 #endif
01264 
01265     XrlCmdRT handle_policy_backend_0_1_reset(const XrlArgs& in, XrlCmdOT out);
01266 #ifdef XORP_ENABLE_ASYNC_SERVER
01267     void callback_policy_backend_0_1_reset
01268        (const XrlCmdError &e,
01269         XrlRespCallback);
01270 #endif
01271 
01272     XrlCmdRT handle_policy_backend_0_1_push_routes(const XrlArgs& in, XrlCmdOT out);
01273 #ifdef XORP_ENABLE_ASYNC_SERVER
01274     void callback_policy_backend_0_1_push_routes
01275        (const XrlCmdError &e,
01276         XrlRespCallback);
01277 #endif
01278 
01279     XrlCmdRT handle_fib2mrib_0_1_enable_fib2mrib(const XrlArgs& in, XrlCmdOT out);
01280 #ifdef XORP_ENABLE_ASYNC_SERVER
01281     void callback_fib2mrib_0_1_enable_fib2mrib
01282        (const XrlCmdError &e,
01283         XrlRespCallback);
01284 #endif
01285 
01286     XrlCmdRT handle_fib2mrib_0_1_start_fib2mrib(const XrlArgs& in, XrlCmdOT out);
01287 #ifdef XORP_ENABLE_ASYNC_SERVER
01288     void callback_fib2mrib_0_1_start_fib2mrib
01289        (const XrlCmdError &e,
01290         XrlRespCallback);
01291 #endif
01292 
01293     XrlCmdRT handle_fib2mrib_0_1_stop_fib2mrib(const XrlArgs& in, XrlCmdOT out);
01294 #ifdef XORP_ENABLE_ASYNC_SERVER
01295     void callback_fib2mrib_0_1_stop_fib2mrib
01296        (const XrlCmdError &e,
01297         XrlRespCallback);
01298 #endif
01299 
01300     XrlCmdRT handle_fib2mrib_0_1_enable_log_trace_all(const XrlArgs& in, XrlCmdOT out);
01301 #ifdef XORP_ENABLE_ASYNC_SERVER
01302     void callback_fib2mrib_0_1_enable_log_trace_all
01303        (const XrlCmdError &e,
01304         XrlRespCallback);
01305 #endif
01306 
01307     void add_handlers();
01308     void remove_handlers();
01309 
01310     struct handler_table {
01311         const char *name;
01312         XrlCmdRT (XrlFib2mribTargetBase::*method)(const XrlArgs&, XrlCmdOT);
01313     };
01314 
01315     static const struct handler_table handlers[];
01316     static const size_t num_handlers;
01317 };
01318 
01319 #endif // __XRL_TARGETS_FIB2MRIB_BASE_HH__
 All Classes Namespaces Functions Variables Typedefs Enumerations