xorp

mfea_client_xif.hh

00001 /*
00002  * obj/i686-pc-linux-gnu/xrl/interfaces/mfea_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_MFEA_CLIENT_XIF_HH__
00015 #define __XRL_INTERFACES_MFEA_CLIENT_XIF_HH__
00016 
00017 #undef XORP_LIBRARY_NAME
00018 #define XORP_LIBRARY_NAME "XifMfeaClient"
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 XrlMfeaClientV0p1Client {
00030 public:
00031     XrlMfeaClientV0p1Client(XrlSender* s) : _sender(s) {}
00032     virtual ~XrlMfeaClientV0p1Client() {}
00033 
00034     typedef XorpCallback1<void, const XrlError&>::RefPtr RecvKernelSignalMessage4CB;
00058     bool send_recv_kernel_signal_message4(
00059     const char* dst_xrl_target_name,
00060     const string&   xrl_sender_name,
00061     const uint32_t& message_type,
00062     const string&   vif_name,
00063     const uint32_t& vif_index,
00064     const IPv4& source_address,
00065     const IPv4& dest_address,
00066     const vector<uint8_t>&  protocol_message,
00067     const RecvKernelSignalMessage4CB&   cb
00068     );
00069 
00070     typedef XorpCallback1<void, const XrlError&>::RefPtr RecvDataflowSignal4CB;
00116     bool send_recv_dataflow_signal4(
00117     const char* dst_xrl_target_name,
00118     const string&   xrl_sender_name,
00119     const IPv4& source_address,
00120     const IPv4& group_address,
00121     const uint32_t& threshold_interval_sec,
00122     const uint32_t& threshold_interval_usec,
00123     const uint32_t& measured_interval_sec,
00124     const uint32_t& measured_interval_usec,
00125     const uint32_t& threshold_packets,
00126     const uint32_t& threshold_bytes,
00127     const uint32_t& measured_packets,
00128     const uint32_t& measured_bytes,
00129     const bool& is_threshold_in_packets,
00130     const bool& is_threshold_in_bytes,
00131     const bool& is_geq_upcall,
00132     const bool& is_leq_upcall,
00133     const RecvDataflowSignal4CB&    cb
00134     );
00135 
00136     typedef XorpCallback1<void, const XrlError&>::RefPtr RecvKernelSignalMessage6CB;
00137 
00138     bool send_recv_kernel_signal_message6(
00139     const char* dst_xrl_target_name,
00140     const string&   xrl_sender_name,
00141     const uint32_t& message_type,
00142     const string&   vif_name,
00143     const uint32_t& vif_index,
00144     const IPv6& source_address,
00145     const IPv6& dest_address,
00146     const vector<uint8_t>&  protocol_message,
00147     const RecvKernelSignalMessage6CB&   cb
00148     );
00149 
00150     typedef XorpCallback1<void, const XrlError&>::RefPtr RecvDataflowSignal6CB;
00151 
00152     bool send_recv_dataflow_signal6(
00153     const char* dst_xrl_target_name,
00154     const string&   xrl_sender_name,
00155     const IPv6& source_address,
00156     const IPv6& group_address,
00157     const uint32_t& threshold_interval_sec,
00158     const uint32_t& threshold_interval_usec,
00159     const uint32_t& measured_interval_sec,
00160     const uint32_t& measured_interval_usec,
00161     const uint32_t& threshold_packets,
00162     const uint32_t& threshold_bytes,
00163     const uint32_t& measured_packets,
00164     const uint32_t& measured_bytes,
00165     const bool& is_threshold_in_packets,
00166     const bool& is_threshold_in_bytes,
00167     const bool& is_geq_upcall,
00168     const bool& is_leq_upcall,
00169     const RecvDataflowSignal6CB&    cb
00170     );
00171 
00172 protected:
00173     XrlSender* _sender;
00174 
00175 private:
00176     static void unmarshall_recv_kernel_signal_message4(
00177     const XrlError& e,
00178     XrlArgs*    a,
00179     RecvKernelSignalMessage4CB      cb
00180     );
00181 
00182     static void unmarshall_recv_dataflow_signal4(
00183     const XrlError& e,
00184     XrlArgs*    a,
00185     RecvDataflowSignal4CB       cb
00186     );
00187 
00188     static void unmarshall_recv_kernel_signal_message6(
00189     const XrlError& e,
00190     XrlArgs*    a,
00191     RecvKernelSignalMessage6CB      cb
00192     );
00193 
00194     static void unmarshall_recv_dataflow_signal6(
00195     const XrlError& e,
00196     XrlArgs*    a,
00197     RecvDataflowSignal6CB       cb
00198     );
00199 
00200 private:
00201     /* Declare cached Xrl pointers */
00202     auto_ptr<Xrl> ap_xrl_recv_kernel_signal_message4;
00203     auto_ptr<Xrl> ap_xrl_recv_dataflow_signal4;
00204     auto_ptr<Xrl> ap_xrl_recv_kernel_signal_message6;
00205     auto_ptr<Xrl> ap_xrl_recv_dataflow_signal6;
00206 };
00207 
00208 #endif /* __XRL_INTERFACES_MFEA_CLIENT_XIF_HH__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations