xorp

fea_fib_xif.hh

00001 /*
00002  * obj/i386-pc-mingw32/xrl/interfaces/fea_fib_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_FEA_FIB_XIF_HH__
00015 #define __XRL_INTERFACES_FEA_FIB_XIF_HH__
00016 
00017 #undef XORP_LIBRARY_NAME
00018 #define XORP_LIBRARY_NAME "XifFeaFib"
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 XrlFeaFibV0p1Client {
00030 public:
00031     XrlFeaFibV0p1Client(XrlSender* s) : _sender(s) {}
00032     virtual ~XrlFeaFibV0p1Client() {}
00033 
00034     typedef XorpCallback1<void, const XrlError&>::RefPtr AddFibClient4CB;
00048     bool send_add_fib_client4(
00049     const char* dst_xrl_target_name,
00050     const string&   client_target_name,
00051     const bool& send_updates,
00052     const bool& send_resolves,
00053     const AddFibClient4CB&  cb
00054     );
00055 
00056     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteFibClient4CB;
00066     bool send_delete_fib_client4(
00067     const char* dst_xrl_target_name,
00068     const string&   client_target_name,
00069     const DeleteFibClient4CB&   cb
00070     );
00071 
00072     typedef XorpCallback1<void, const XrlError&>::RefPtr AddFibClient6CB;
00073 
00074     bool send_add_fib_client6(
00075     const char* dst_xrl_target_name,
00076     const string&   client_target_name,
00077     const bool& send_updates,
00078     const bool& send_resolves,
00079     const AddFibClient6CB&  cb
00080     );
00081 
00082     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteFibClient6CB;
00083 
00084     bool send_delete_fib_client6(
00085     const char* dst_xrl_target_name,
00086     const string&   client_target_name,
00087     const DeleteFibClient6CB&   cb
00088     );
00089 
00090 protected:
00091     XrlSender* _sender;
00092 
00093 private:
00094     static void unmarshall_add_fib_client4(
00095     const XrlError& e,
00096     XrlArgs*    a,
00097     AddFibClient4CB     cb
00098     );
00099 
00100     static void unmarshall_delete_fib_client4(
00101     const XrlError& e,
00102     XrlArgs*    a,
00103     DeleteFibClient4CB      cb
00104     );
00105 
00106     static void unmarshall_add_fib_client6(
00107     const XrlError& e,
00108     XrlArgs*    a,
00109     AddFibClient6CB     cb
00110     );
00111 
00112     static void unmarshall_delete_fib_client6(
00113     const XrlError& e,
00114     XrlArgs*    a,
00115     DeleteFibClient6CB      cb
00116     );
00117 
00118 private:
00119     /* Declare cached Xrl pointers */
00120     auto_ptr<Xrl> ap_xrl_add_fib_client4;
00121     auto_ptr<Xrl> ap_xrl_delete_fib_client4;
00122     auto_ptr<Xrl> ap_xrl_add_fib_client6;
00123     auto_ptr<Xrl> ap_xrl_delete_fib_client6;
00124 };
00125 
00126 #endif /* __XRL_INTERFACES_FEA_FIB_XIF_HH__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations