xorp

rib_client_xif.hh

00001 /*
00002  * obj/i386-pc-mingw32/xrl/interfaces/rib_client_xif.hh
00003  * vim:set sts=4 ts=8 ft=cpp:
00004  *
00005  * Copyright (c) 2001-2010 XORP, Inc and Others
00006  * See the XORP LICENSE.lgpl file for licensing, conditions, and warranties
00007  * on use.
00008  *
00009  * DO NOT EDIT THIS FILE - IT IS PROGRAMMATICALLY GENERATED
00010  *
00011  * Generated by 'clnt-gen'.
00012  */
00013 
00014 #ifndef __XRL_INTERFACES_RIB_CLIENT_XIF_HH__
00015 #define __XRL_INTERFACES_RIB_CLIENT_XIF_HH__
00016 
00017 #undef XORP_LIBRARY_NAME
00018 #define XORP_LIBRARY_NAME "XifRibClient"
00019 
00020 #include "libxorp/xlog.h"
00021 #include "libxorp/callback.hh"
00022 
00023 #include "libxipc/xrl.hh"
00024 #include "libxipc/xrl_error.hh"
00025 #include "libxipc/xrl_sender.hh"
00026 
00027 //#include <memory>
00028 
00029 class XrlRibClientV0p1Client {
00030 public:
00031     XrlRibClientV0p1Client(XrlSender* s) : _sender(s) {}
00032     virtual ~XrlRibClientV0p1Client() {}
00033 
00034     typedef XorpCallback1<void, const XrlError&>::RefPtr RouteInfoChanged4CB;
00057     bool send_route_info_changed4(
00058     const char* dst_xrl_target_name,
00059     const IPv4& addr,
00060     const uint32_t& prefix_len,
00061     const IPv4& nexthop,
00062     const uint32_t& metric,
00063     const uint32_t& admin_distance,
00064     const string&   protocol_origin,
00065     const RouteInfoChanged4CB&  cb
00066     );
00067 
00068     typedef XorpCallback1<void, const XrlError&>::RefPtr RouteInfoInvalid4CB;
00082     bool send_route_info_invalid4(
00083     const char* dst_xrl_target_name,
00084     const IPv4& addr,
00085     const uint32_t& prefix_len,
00086     const RouteInfoInvalid4CB&  cb
00087     );
00088 
00089     typedef XorpCallback1<void, const XrlError&>::RefPtr RouteInfoChanged6CB;
00090 
00091     bool send_route_info_changed6(
00092     const char* dst_xrl_target_name,
00093     const IPv6& addr,
00094     const uint32_t& prefix_len,
00095     const IPv6& nexthop,
00096     const uint32_t& metric,
00097     const uint32_t& admin_distance,
00098     const string&   protocol_origin,
00099     const RouteInfoChanged6CB&  cb
00100     );
00101 
00102     typedef XorpCallback1<void, const XrlError&>::RefPtr RouteInfoInvalid6CB;
00103 
00104     bool send_route_info_invalid6(
00105     const char* dst_xrl_target_name,
00106     const IPv6& addr,
00107     const uint32_t& prefix_len,
00108     const RouteInfoInvalid6CB&  cb
00109     );
00110 
00111 protected:
00112     XrlSender* _sender;
00113 
00114 private:
00115     static void unmarshall_route_info_changed4(
00116     const XrlError& e,
00117     XrlArgs*    a,
00118     RouteInfoChanged4CB     cb
00119     );
00120 
00121     static void unmarshall_route_info_invalid4(
00122     const XrlError& e,
00123     XrlArgs*    a,
00124     RouteInfoInvalid4CB     cb
00125     );
00126 
00127     static void unmarshall_route_info_changed6(
00128     const XrlError& e,
00129     XrlArgs*    a,
00130     RouteInfoChanged6CB     cb
00131     );
00132 
00133     static void unmarshall_route_info_invalid6(
00134     const XrlError& e,
00135     XrlArgs*    a,
00136     RouteInfoInvalid6CB     cb
00137     );
00138 
00139 private:
00140     /* Declare cached Xrl pointers */
00141     auto_ptr<Xrl> ap_xrl_route_info_changed4;
00142     auto_ptr<Xrl> ap_xrl_route_info_invalid4;
00143     auto_ptr<Xrl> ap_xrl_route_info_changed6;
00144     auto_ptr<Xrl> ap_xrl_route_info_invalid6;
00145 };
00146 
00147 #endif /* __XRL_INTERFACES_RIB_CLIENT_XIF_HH__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations