xorp

show_routes_base.hh

00001 /*
00002  * obj/i686-pc-linux-gnu/xrl/targets/show_routes_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_SHOW_ROUTES_BASE_HH__
00016 #define __XRL_TARGETS_SHOW_ROUTES_BASE_HH__
00017 
00018 #undef XORP_LIBRARY_NAME
00019 #define XORP_LIBRARY_NAME "XrlShowRoutesTarget"
00020 
00021 #include "libxorp/xlog.h"
00022 #include "libxipc/xrl_cmd_map.hh"
00023 
00024 class XrlShowRoutesTargetBase {
00025 protected:
00026     XrlCmdMap* _cmds;
00027 
00028 public:
00036     XrlShowRoutesTargetBase(XrlCmdMap* cmds = 0);
00037 
00043     virtual ~XrlShowRoutesTargetBase();
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 "show_routes/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 
00450     virtual XrlCmdError redist4_0_1_add_route(
00451     // Input values,
00452     const IPv4Net&  dst,
00453     const IPv4& nexthop,
00454     const string&   ifname,
00455     const string&   vifname,
00456     const uint32_t& metric,
00457     const uint32_t& admin_distance,
00458     const string&   cookie,
00459     const string&   protocol_origin) = 0;
00460 #ifdef XORP_ENABLE_ASYNC_SERVER
00461     typedef
00462     XorpCallback1<void, const XrlCmdError &>::RefPtr
00463     Redist401AddRouteRF;
00464 
00465     class Redist401AddRouteCB {
00466         Redist401AddRouteRF cb;
00467 
00468     public:
00469         operator const Redist401AddRouteRF& () const { return cb; }
00470         const Redist401AddRouteRF& operator ->() const { return cb; }
00471         Redist401AddRouteCB(const Redist401AddRouteRF& cb)
00472           : cb(cb) { }
00473 
00474         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00475 
00476         void respond() const {
00477             cb->dispatch(XrlCmdError::OKAY());
00478         }
00479     };
00480 
00481     struct Redist401AddRouteRsp :
00482       public Redist401AddRouteCB {
00483         Redist401AddRouteRsp(const Redist401AddRouteRF& cb)
00484           : Redist401AddRouteCB(cb) { }
00485 
00486     };
00487 
00488     virtual void async_redist4_0_1_add_route
00489        (
00490     const IPv4Net&  dst,
00491     const IPv4& nexthop,
00492     const string&   ifname,
00493     const string&   vifname,
00494     const uint32_t& metric,
00495     const uint32_t& admin_distance,
00496     const string&   cookie,
00497     const string&   protocol_origin,
00498     Redist401AddRouteCB);
00499 #endif
00500 
00501     virtual XrlCmdError redist4_0_1_delete_route(
00502     // Input values,
00503     const IPv4Net&  dst,
00504     const IPv4& nexthop,
00505     const string&   ifname,
00506     const string&   vifname,
00507     const uint32_t& metric,
00508     const uint32_t& admin_distance,
00509     const string&   cookie,
00510     const string&   protocol_origin) = 0;
00511 #ifdef XORP_ENABLE_ASYNC_SERVER
00512     typedef
00513     XorpCallback1<void, const XrlCmdError &>::RefPtr
00514     Redist401DeleteRouteRF;
00515 
00516     class Redist401DeleteRouteCB {
00517         Redist401DeleteRouteRF cb;
00518 
00519     public:
00520         operator const Redist401DeleteRouteRF& () const { return cb; }
00521         const Redist401DeleteRouteRF& operator ->() const { return cb; }
00522         Redist401DeleteRouteCB(const Redist401DeleteRouteRF& cb)
00523           : cb(cb) { }
00524 
00525         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00526 
00527         void respond() const {
00528             cb->dispatch(XrlCmdError::OKAY());
00529         }
00530     };
00531 
00532     struct Redist401DeleteRouteRsp :
00533       public Redist401DeleteRouteCB {
00534         Redist401DeleteRouteRsp(const Redist401DeleteRouteRF& cb)
00535           : Redist401DeleteRouteCB(cb) { }
00536 
00537     };
00538 
00539     virtual void async_redist4_0_1_delete_route
00540        (
00541     const IPv4Net&  dst,
00542     const IPv4& nexthop,
00543     const string&   ifname,
00544     const string&   vifname,
00545     const uint32_t& metric,
00546     const uint32_t& admin_distance,
00547     const string&   cookie,
00548     const string&   protocol_origin,
00549     Redist401DeleteRouteCB);
00550 #endif
00551 
00562     virtual XrlCmdError redist4_0_1_starting_route_dump(
00563     // Input values,
00564     const string&   cookie) = 0;
00565 #ifdef XORP_ENABLE_ASYNC_SERVER
00566     typedef
00567     XorpCallback1<void, const XrlCmdError &>::RefPtr
00568     Redist401StartingRouteDumpRF;
00569 
00570     class Redist401StartingRouteDumpCB {
00571         Redist401StartingRouteDumpRF cb;
00572 
00573     public:
00574         operator const Redist401StartingRouteDumpRF& () const { return cb; }
00575         const Redist401StartingRouteDumpRF& operator ->() const { return cb; }
00576         Redist401StartingRouteDumpCB(const Redist401StartingRouteDumpRF& 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 Redist401StartingRouteDumpRsp :
00587       public Redist401StartingRouteDumpCB {
00588         Redist401StartingRouteDumpRsp(const Redist401StartingRouteDumpRF& cb)
00589           : Redist401StartingRouteDumpCB(cb) { }
00590 
00591     };
00592 
00593     virtual void async_redist4_0_1_starting_route_dump
00594        (
00595     const string&   cookie,
00596     Redist401StartingRouteDumpCB);
00597 #endif
00598 
00609     virtual XrlCmdError redist4_0_1_finishing_route_dump(
00610     // Input values,
00611     const string&   cookie) = 0;
00612 #ifdef XORP_ENABLE_ASYNC_SERVER
00613     typedef
00614     XorpCallback1<void, const XrlCmdError &>::RefPtr
00615     Redist401FinishingRouteDumpRF;
00616 
00617     class Redist401FinishingRouteDumpCB {
00618         Redist401FinishingRouteDumpRF cb;
00619 
00620     public:
00621         operator const Redist401FinishingRouteDumpRF& () const { return cb; }
00622         const Redist401FinishingRouteDumpRF& operator ->() const { return cb; }
00623         Redist401FinishingRouteDumpCB(const Redist401FinishingRouteDumpRF& cb)
00624           : cb(cb) { }
00625 
00626         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00627 
00628         void respond() const {
00629             cb->dispatch(XrlCmdError::OKAY());
00630         }
00631     };
00632 
00633     struct Redist401FinishingRouteDumpRsp :
00634       public Redist401FinishingRouteDumpCB {
00635         Redist401FinishingRouteDumpRsp(const Redist401FinishingRouteDumpRF& cb)
00636           : Redist401FinishingRouteDumpCB(cb) { }
00637 
00638     };
00639 
00640     virtual void async_redist4_0_1_finishing_route_dump
00641        (
00642     const string&   cookie,
00643     Redist401FinishingRouteDumpCB);
00644 #endif
00645 
00670     virtual XrlCmdError redist6_0_1_add_route(
00671     // Input values,
00672     const IPv6Net&  dst,
00673     const IPv6& nexthop,
00674     const string&   ifname,
00675     const string&   vifname,
00676     const uint32_t& metric,
00677     const uint32_t& admin_distance,
00678     const string&   cookie,
00679     const string&   protocol_origin) = 0;
00680 #ifdef XORP_ENABLE_ASYNC_SERVER
00681     typedef
00682     XorpCallback1<void, const XrlCmdError &>::RefPtr
00683     Redist601AddRouteRF;
00684 
00685     class Redist601AddRouteCB {
00686         Redist601AddRouteRF cb;
00687 
00688     public:
00689         operator const Redist601AddRouteRF& () const { return cb; }
00690         const Redist601AddRouteRF& operator ->() const { return cb; }
00691         Redist601AddRouteCB(const Redist601AddRouteRF& cb)
00692           : cb(cb) { }
00693 
00694         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00695 
00696         void respond() const {
00697             cb->dispatch(XrlCmdError::OKAY());
00698         }
00699     };
00700 
00701     struct Redist601AddRouteRsp :
00702       public Redist601AddRouteCB {
00703         Redist601AddRouteRsp(const Redist601AddRouteRF& cb)
00704           : Redist601AddRouteCB(cb) { }
00705 
00706     };
00707 
00708     virtual void async_redist6_0_1_add_route
00709        (
00710     const IPv6Net&  dst,
00711     const IPv6& nexthop,
00712     const string&   ifname,
00713     const string&   vifname,
00714     const uint32_t& metric,
00715     const uint32_t& admin_distance,
00716     const string&   cookie,
00717     const string&   protocol_origin,
00718     Redist601AddRouteCB);
00719 #endif
00720 
00721     virtual XrlCmdError redist6_0_1_delete_route(
00722     // Input values,
00723     const IPv6Net&  dst,
00724     const IPv6& nexthop,
00725     const string&   ifname,
00726     const string&   vifname,
00727     const uint32_t& metric,
00728     const uint32_t& admin_distance,
00729     const string&   cookie,
00730     const string&   protocol_origin) = 0;
00731 #ifdef XORP_ENABLE_ASYNC_SERVER
00732     typedef
00733     XorpCallback1<void, const XrlCmdError &>::RefPtr
00734     Redist601DeleteRouteRF;
00735 
00736     class Redist601DeleteRouteCB {
00737         Redist601DeleteRouteRF cb;
00738 
00739     public:
00740         operator const Redist601DeleteRouteRF& () const { return cb; }
00741         const Redist601DeleteRouteRF& operator ->() const { return cb; }
00742         Redist601DeleteRouteCB(const Redist601DeleteRouteRF& cb)
00743           : cb(cb) { }
00744 
00745         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00746 
00747         void respond() const {
00748             cb->dispatch(XrlCmdError::OKAY());
00749         }
00750     };
00751 
00752     struct Redist601DeleteRouteRsp :
00753       public Redist601DeleteRouteCB {
00754         Redist601DeleteRouteRsp(const Redist601DeleteRouteRF& cb)
00755           : Redist601DeleteRouteCB(cb) { }
00756 
00757     };
00758 
00759     virtual void async_redist6_0_1_delete_route
00760        (
00761     const IPv6Net&  dst,
00762     const IPv6& nexthop,
00763     const string&   ifname,
00764     const string&   vifname,
00765     const uint32_t& metric,
00766     const uint32_t& admin_distance,
00767     const string&   cookie,
00768     const string&   protocol_origin,
00769     Redist601DeleteRouteCB);
00770 #endif
00771 
00782     virtual XrlCmdError redist6_0_1_starting_route_dump(
00783     // Input values,
00784     const string&   cookie) = 0;
00785 #ifdef XORP_ENABLE_ASYNC_SERVER
00786     typedef
00787     XorpCallback1<void, const XrlCmdError &>::RefPtr
00788     Redist601StartingRouteDumpRF;
00789 
00790     class Redist601StartingRouteDumpCB {
00791         Redist601StartingRouteDumpRF cb;
00792 
00793     public:
00794         operator const Redist601StartingRouteDumpRF& () const { return cb; }
00795         const Redist601StartingRouteDumpRF& operator ->() const { return cb; }
00796         Redist601StartingRouteDumpCB(const Redist601StartingRouteDumpRF& cb)
00797           : cb(cb) { }
00798 
00799         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00800 
00801         void respond() const {
00802             cb->dispatch(XrlCmdError::OKAY());
00803         }
00804     };
00805 
00806     struct Redist601StartingRouteDumpRsp :
00807       public Redist601StartingRouteDumpCB {
00808         Redist601StartingRouteDumpRsp(const Redist601StartingRouteDumpRF& cb)
00809           : Redist601StartingRouteDumpCB(cb) { }
00810 
00811     };
00812 
00813     virtual void async_redist6_0_1_starting_route_dump
00814        (
00815     const string&   cookie,
00816     Redist601StartingRouteDumpCB);
00817 #endif
00818 
00829     virtual XrlCmdError redist6_0_1_finishing_route_dump(
00830     // Input values,
00831     const string&   cookie) = 0;
00832 #ifdef XORP_ENABLE_ASYNC_SERVER
00833     typedef
00834     XorpCallback1<void, const XrlCmdError &>::RefPtr
00835     Redist601FinishingRouteDumpRF;
00836 
00837     class Redist601FinishingRouteDumpCB {
00838         Redist601FinishingRouteDumpRF cb;
00839 
00840     public:
00841         operator const Redist601FinishingRouteDumpRF& () const { return cb; }
00842         const Redist601FinishingRouteDumpRF& operator ->() const { return cb; }
00843         Redist601FinishingRouteDumpCB(const Redist601FinishingRouteDumpRF& cb)
00844           : cb(cb) { }
00845 
00846         void fail(const XrlCmdError &e) const { cb->dispatch(e); }
00847 
00848         void respond() const {
00849             cb->dispatch(XrlCmdError::OKAY());
00850         }
00851     };
00852 
00853     struct Redist601FinishingRouteDumpRsp :
00854       public Redist601FinishingRouteDumpCB {
00855         Redist601FinishingRouteDumpRsp(const Redist601FinishingRouteDumpRF& cb)
00856           : Redist601FinishingRouteDumpCB(cb) { }
00857 
00858     };
00859 
00860     virtual void async_redist6_0_1_finishing_route_dump
00861        (
00862     const string&   cookie,
00863     Redist601FinishingRouteDumpCB);
00864 #endif
00865 
00866 private:
00867     XrlCmdRT handle_common_0_1_get_target_name(const XrlArgs& in, XrlCmdOT out);
00868 #ifdef XORP_ENABLE_ASYNC_SERVER
00869     void callback_common_0_1_get_target_name
00870        (const XrlCmdError &e,
00871     const string* arg_name,
00872         XrlRespCallback);
00873 #endif
00874 
00875     XrlCmdRT handle_common_0_1_get_version(const XrlArgs& in, XrlCmdOT out);
00876 #ifdef XORP_ENABLE_ASYNC_SERVER
00877     void callback_common_0_1_get_version
00878        (const XrlCmdError &e,
00879     const string* arg_version,
00880         XrlRespCallback);
00881 #endif
00882 
00883     XrlCmdRT handle_common_0_1_get_status(const XrlArgs& in, XrlCmdOT out);
00884 #ifdef XORP_ENABLE_ASYNC_SERVER
00885     void callback_common_0_1_get_status
00886        (const XrlCmdError &e,
00887     const uint32_t* arg_status,
00888     const string* arg_reason,
00889         XrlRespCallback);
00890 #endif
00891 
00892     XrlCmdRT handle_common_0_1_shutdown(const XrlArgs& in, XrlCmdOT out);
00893 #ifdef XORP_ENABLE_ASYNC_SERVER
00894     void callback_common_0_1_shutdown
00895        (const XrlCmdError &e,
00896         XrlRespCallback);
00897 #endif
00898 
00899     XrlCmdRT handle_common_0_1_startup(const XrlArgs& in, XrlCmdOT out);
00900 #ifdef XORP_ENABLE_ASYNC_SERVER
00901     void callback_common_0_1_startup
00902        (const XrlCmdError &e,
00903         XrlRespCallback);
00904 #endif
00905 
00906     XrlCmdRT handle_finder_event_observer_0_1_xrl_target_birth(const XrlArgs& in, XrlCmdOT out);
00907 #ifdef XORP_ENABLE_ASYNC_SERVER
00908     void callback_finder_event_observer_0_1_xrl_target_birth
00909        (const XrlCmdError &e,
00910         XrlRespCallback);
00911 #endif
00912 
00913     XrlCmdRT handle_finder_event_observer_0_1_xrl_target_death(const XrlArgs& in, XrlCmdOT out);
00914 #ifdef XORP_ENABLE_ASYNC_SERVER
00915     void callback_finder_event_observer_0_1_xrl_target_death
00916        (const XrlCmdError &e,
00917         XrlRespCallback);
00918 #endif
00919 
00920     XrlCmdRT handle_redist4_0_1_add_route(const XrlArgs& in, XrlCmdOT out);
00921 #ifdef XORP_ENABLE_ASYNC_SERVER
00922     void callback_redist4_0_1_add_route
00923        (const XrlCmdError &e,
00924         XrlRespCallback);
00925 #endif
00926 
00927     XrlCmdRT handle_redist4_0_1_delete_route(const XrlArgs& in, XrlCmdOT out);
00928 #ifdef XORP_ENABLE_ASYNC_SERVER
00929     void callback_redist4_0_1_delete_route
00930        (const XrlCmdError &e,
00931         XrlRespCallback);
00932 #endif
00933 
00934     XrlCmdRT handle_redist4_0_1_starting_route_dump(const XrlArgs& in, XrlCmdOT out);
00935 #ifdef XORP_ENABLE_ASYNC_SERVER
00936     void callback_redist4_0_1_starting_route_dump
00937        (const XrlCmdError &e,
00938         XrlRespCallback);
00939 #endif
00940 
00941     XrlCmdRT handle_redist4_0_1_finishing_route_dump(const XrlArgs& in, XrlCmdOT out);
00942 #ifdef XORP_ENABLE_ASYNC_SERVER
00943     void callback_redist4_0_1_finishing_route_dump
00944        (const XrlCmdError &e,
00945         XrlRespCallback);
00946 #endif
00947 
00948     XrlCmdRT handle_redist6_0_1_add_route(const XrlArgs& in, XrlCmdOT out);
00949 #ifdef XORP_ENABLE_ASYNC_SERVER
00950     void callback_redist6_0_1_add_route
00951        (const XrlCmdError &e,
00952         XrlRespCallback);
00953 #endif
00954 
00955     XrlCmdRT handle_redist6_0_1_delete_route(const XrlArgs& in, XrlCmdOT out);
00956 #ifdef XORP_ENABLE_ASYNC_SERVER
00957     void callback_redist6_0_1_delete_route
00958        (const XrlCmdError &e,
00959         XrlRespCallback);
00960 #endif
00961 
00962     XrlCmdRT handle_redist6_0_1_starting_route_dump(const XrlArgs& in, XrlCmdOT out);
00963 #ifdef XORP_ENABLE_ASYNC_SERVER
00964     void callback_redist6_0_1_starting_route_dump
00965        (const XrlCmdError &e,
00966         XrlRespCallback);
00967 #endif
00968 
00969     XrlCmdRT handle_redist6_0_1_finishing_route_dump(const XrlArgs& in, XrlCmdOT out);
00970 #ifdef XORP_ENABLE_ASYNC_SERVER
00971     void callback_redist6_0_1_finishing_route_dump
00972        (const XrlCmdError &e,
00973         XrlRespCallback);
00974 #endif
00975 
00976     void add_handlers();
00977     void remove_handlers();
00978 
00979     struct handler_table {
00980         const char *name;
00981         XrlCmdRT (XrlShowRoutesTargetBase::*method)(const XrlArgs&, XrlCmdOT);
00982     };
00983 
00984     static const struct handler_table handlers[];
00985     static const size_t num_handlers;
00986 };
00987 
00988 #endif // __XRL_TARGETS_SHOW_ROUTES_BASE_HH__
 All Classes Namespaces Functions Variables Typedefs Enumerations