|
xorp
|
00001 /* 00002 * obj/i686-pc-linux-gnu/xrl/interfaces/redist4_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_REDIST4_XIF_HH__ 00015 #define __XRL_INTERFACES_REDIST4_XIF_HH__ 00016 00017 #undef XORP_LIBRARY_NAME 00018 #define XORP_LIBRARY_NAME "XifRedist4" 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 XrlRedist4V0p1Client { 00030 public: 00031 XrlRedist4V0p1Client(XrlSender* s) : _sender(s) {} 00032 virtual ~XrlRedist4V0p1Client() {} 00033 00034 typedef XorpCallback1<void, const XrlError&>::RefPtr AddRouteCB; 00061 bool send_add_route( 00062 const char* dst_xrl_target_name, 00063 const IPv4Net& dst, 00064 const IPv4& nexthop, 00065 const string& ifname, 00066 const string& vifname, 00067 const uint32_t& metric, 00068 const uint32_t& admin_distance, 00069 const string& cookie, 00070 const string& protocol_origin, 00071 const AddRouteCB& cb 00072 ); 00073 00074 typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteRouteCB; 00075 00076 bool send_delete_route( 00077 const char* dst_xrl_target_name, 00078 const IPv4Net& dst, 00079 const IPv4& nexthop, 00080 const string& ifname, 00081 const string& vifname, 00082 const uint32_t& metric, 00083 const uint32_t& admin_distance, 00084 const string& cookie, 00085 const string& protocol_origin, 00086 const DeleteRouteCB& cb 00087 ); 00088 00089 typedef XorpCallback1<void, const XrlError&>::RefPtr StartingRouteDumpCB; 00102 bool send_starting_route_dump( 00103 const char* dst_xrl_target_name, 00104 const string& cookie, 00105 const StartingRouteDumpCB& cb 00106 ); 00107 00108 typedef XorpCallback1<void, const XrlError&>::RefPtr FinishingRouteDumpCB; 00121 bool send_finishing_route_dump( 00122 const char* dst_xrl_target_name, 00123 const string& cookie, 00124 const FinishingRouteDumpCB& cb 00125 ); 00126 00127 protected: 00128 XrlSender* _sender; 00129 00130 private: 00131 static void unmarshall_add_route( 00132 const XrlError& e, 00133 XrlArgs* a, 00134 AddRouteCB cb 00135 ); 00136 00137 static void unmarshall_delete_route( 00138 const XrlError& e, 00139 XrlArgs* a, 00140 DeleteRouteCB cb 00141 ); 00142 00143 static void unmarshall_starting_route_dump( 00144 const XrlError& e, 00145 XrlArgs* a, 00146 StartingRouteDumpCB cb 00147 ); 00148 00149 static void unmarshall_finishing_route_dump( 00150 const XrlError& e, 00151 XrlArgs* a, 00152 FinishingRouteDumpCB cb 00153 ); 00154 00155 private: 00156 /* Declare cached Xrl pointers */ 00157 auto_ptr<Xrl> ap_xrl_add_route; 00158 auto_ptr<Xrl> ap_xrl_delete_route; 00159 auto_ptr<Xrl> ap_xrl_starting_route_dump; 00160 auto_ptr<Xrl> ap_xrl_finishing_route_dump; 00161 }; 00162 00163 #endif /* __XRL_INTERFACES_REDIST4_XIF_HH__ */