xorp

mfea_xif.hh

00001 /*
00002  * obj/i686-pc-linux-gnu/xrl/interfaces/mfea_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_XIF_HH__
00015 #define __XRL_INTERFACES_MFEA_XIF_HH__
00016 
00017 #undef XORP_LIBRARY_NAME
00018 #define XORP_LIBRARY_NAME "XifMfea"
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 XrlMfeaV0p1Client {
00030 public:
00031     XrlMfeaV0p1Client(XrlSender* s) : _sender(s) {}
00032     virtual ~XrlMfeaV0p1Client() {}
00033 
00034     typedef XorpCallback2<void, const XrlError&, const bool*>::RefPtr HaveMulticastRouting4CB;
00042     bool send_have_multicast_routing4(
00043     const char* dst_xrl_target_name,
00044     const HaveMulticastRouting4CB&  cb
00045     );
00046 
00047     typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterProtocol4CB;
00067     bool send_register_protocol4(
00068     const char* dst_xrl_target_name,
00069     const string&   xrl_sender_name,
00070     const string&   if_name,
00071     const string&   vif_name,
00072     const uint32_t& ip_protocol,
00073     const RegisterProtocol4CB&  cb
00074     );
00075 
00076     typedef XorpCallback1<void, const XrlError&>::RefPtr UnregisterProtocol4CB;
00093     bool send_unregister_protocol4(
00094     const char* dst_xrl_target_name,
00095     const string&   xrl_sender_name,
00096     const string&   if_name,
00097     const string&   vif_name,
00098     const UnregisterProtocol4CB&    cb
00099     );
00100 
00101     typedef XorpCallback1<void, const XrlError&>::RefPtr AddMfc4CB;
00128     bool send_add_mfc4(
00129     const char* dst_xrl_target_name,
00130     const string&   xrl_sender_name,
00131     const IPv4& source_address,
00132     const IPv4& group_address,
00133     const uint32_t& iif_vif_index,
00134     const vector<uint8_t>&  oiflist,
00135     const vector<uint8_t>&  oiflist_disable_wrongvif,
00136     const uint32_t& max_vifs_oiflist,
00137     const IPv4& rp_address,
00138     const AddMfc4CB&    cb
00139     );
00140 
00141     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteMfc4CB;
00142 
00143     bool send_delete_mfc4(
00144     const char* dst_xrl_target_name,
00145     const string&   xrl_sender_name,
00146     const IPv4& source_address,
00147     const IPv4& group_address,
00148     const DeleteMfc4CB& cb
00149     );
00150 
00151     typedef XorpCallback1<void, const XrlError&>::RefPtr AddDataflowMonitor4CB;
00187     bool send_add_dataflow_monitor4(
00188     const char* dst_xrl_target_name,
00189     const string&   xrl_sender_name,
00190     const IPv4& source_address,
00191     const IPv4& group_address,
00192     const uint32_t& threshold_interval_sec,
00193     const uint32_t& threshold_interval_usec,
00194     const uint32_t& threshold_packets,
00195     const uint32_t& threshold_bytes,
00196     const bool& is_threshold_in_packets,
00197     const bool& is_threshold_in_bytes,
00198     const bool& is_geq_upcall,
00199     const bool& is_leq_upcall,
00200     const AddDataflowMonitor4CB&    cb
00201     );
00202 
00203     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteDataflowMonitor4CB;
00204 
00205     bool send_delete_dataflow_monitor4(
00206     const char* dst_xrl_target_name,
00207     const string&   xrl_sender_name,
00208     const IPv4& source_address,
00209     const IPv4& group_address,
00210     const uint32_t& threshold_interval_sec,
00211     const uint32_t& threshold_interval_usec,
00212     const uint32_t& threshold_packets,
00213     const uint32_t& threshold_bytes,
00214     const bool& is_threshold_in_packets,
00215     const bool& is_threshold_in_bytes,
00216     const bool& is_geq_upcall,
00217     const bool& is_leq_upcall,
00218     const DeleteDataflowMonitor4CB& cb
00219     );
00220 
00221     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteAllDataflowMonitor4CB;
00222 
00223     bool send_delete_all_dataflow_monitor4(
00224     const char* dst_xrl_target_name,
00225     const string&   xrl_sender_name,
00226     const IPv4& source_address,
00227     const IPv4& group_address,
00228     const DeleteAllDataflowMonitor4CB&  cb
00229     );
00230 
00231     typedef XorpCallback1<void, const XrlError&>::RefPtr EnableVifCB;
00243     bool send_enable_vif(
00244     const char* dst_xrl_target_name,
00245     const string&   vif_name,
00246     const bool& enable,
00247     const EnableVifCB&  cb
00248     );
00249 
00250     typedef XorpCallback1<void, const XrlError&>::RefPtr StartVifCB;
00251 
00252     bool send_start_vif(
00253     const char* dst_xrl_target_name,
00254     const string&   vif_name,
00255     const StartVifCB&   cb
00256     );
00257 
00258     typedef XorpCallback1<void, const XrlError&>::RefPtr StopVifCB;
00259 
00260     bool send_stop_vif(
00261     const char* dst_xrl_target_name,
00262     const string&   vif_name,
00263     const StopVifCB&    cb
00264     );
00265 
00266     typedef XorpCallback1<void, const XrlError&>::RefPtr EnableAllVifsCB;
00276     bool send_enable_all_vifs(
00277     const char* dst_xrl_target_name,
00278     const bool& enable,
00279     const EnableAllVifsCB&  cb
00280     );
00281 
00282     typedef XorpCallback1<void, const XrlError&>::RefPtr StartAllVifsCB;
00283 
00284     bool send_start_all_vifs(
00285     const char* dst_xrl_target_name,
00286     const StartAllVifsCB&   cb
00287     );
00288 
00289     typedef XorpCallback1<void, const XrlError&>::RefPtr StopAllVifsCB;
00290 
00291     bool send_stop_all_vifs(
00292     const char* dst_xrl_target_name,
00293     const StopAllVifsCB&    cb
00294     );
00295 
00296     typedef XorpCallback1<void, const XrlError&>::RefPtr EnableMfeaCB;
00306     bool send_enable_mfea(
00307     const char* dst_xrl_target_name,
00308     const bool& enable,
00309     const EnableMfeaCB& cb
00310     );
00311 
00312     typedef XorpCallback1<void, const XrlError&>::RefPtr StartMfeaCB;
00313 
00314     bool send_start_mfea(
00315     const char* dst_xrl_target_name,
00316     const StartMfeaCB&  cb
00317     );
00318 
00319     typedef XorpCallback1<void, const XrlError&>::RefPtr StopMfeaCB;
00320 
00321     bool send_stop_mfea(
00322     const char* dst_xrl_target_name,
00323     const StopMfeaCB&   cb
00324     );
00325 
00326     typedef XorpCallback1<void, const XrlError&>::RefPtr EnableCliCB;
00337     bool send_enable_cli(
00338     const char* dst_xrl_target_name,
00339     const bool& enable,
00340     const EnableCliCB&  cb
00341     );
00342 
00343     typedef XorpCallback1<void, const XrlError&>::RefPtr StartCliCB;
00344 
00345     bool send_start_cli(
00346     const char* dst_xrl_target_name,
00347     const StartCliCB&   cb
00348     );
00349 
00350     typedef XorpCallback1<void, const XrlError&>::RefPtr StopCliCB;
00351 
00352     bool send_stop_cli(
00353     const char* dst_xrl_target_name,
00354     const StopCliCB&    cb
00355     );
00356 
00357     typedef XorpCallback1<void, const XrlError&>::RefPtr LogTraceAllCB;
00367     bool send_log_trace_all(
00368     const char* dst_xrl_target_name,
00369     const bool& enable,
00370     const LogTraceAllCB&    cb
00371     );
00372 
00373     typedef XorpCallback2<void, const XrlError&, const bool*>::RefPtr HaveMulticastRouting6CB;
00381     bool send_have_multicast_routing6(
00382     const char* dst_xrl_target_name,
00383     const HaveMulticastRouting6CB&  cb
00384     );
00385 
00386     typedef XorpCallback1<void, const XrlError&>::RefPtr RegisterProtocol6CB;
00387 
00388     bool send_register_protocol6(
00389     const char* dst_xrl_target_name,
00390     const string&   xrl_sender_name,
00391     const string&   if_name,
00392     const string&   vif_name,
00393     const uint32_t& ip_protocol,
00394     const RegisterProtocol6CB&  cb
00395     );
00396 
00397     typedef XorpCallback1<void, const XrlError&>::RefPtr UnregisterProtocol6CB;
00398 
00399     bool send_unregister_protocol6(
00400     const char* dst_xrl_target_name,
00401     const string&   xrl_sender_name,
00402     const string&   if_name,
00403     const string&   vif_name,
00404     const UnregisterProtocol6CB&    cb
00405     );
00406 
00407     typedef XorpCallback1<void, const XrlError&>::RefPtr AddMfc6CB;
00408 
00409     bool send_add_mfc6(
00410     const char* dst_xrl_target_name,
00411     const string&   xrl_sender_name,
00412     const IPv6& source_address,
00413     const IPv6& group_address,
00414     const uint32_t& iif_vif_index,
00415     const vector<uint8_t>&  oiflist,
00416     const vector<uint8_t>&  oiflist_disable_wrongvif,
00417     const uint32_t& max_vifs_oiflist,
00418     const IPv6& rp_address,
00419     const AddMfc6CB&    cb
00420     );
00421 
00422     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteMfc6CB;
00423 
00424     bool send_delete_mfc6(
00425     const char* dst_xrl_target_name,
00426     const string&   xrl_sender_name,
00427     const IPv6& source_address,
00428     const IPv6& group_address,
00429     const DeleteMfc6CB& cb
00430     );
00431 
00432     typedef XorpCallback1<void, const XrlError&>::RefPtr AddDataflowMonitor6CB;
00433 
00434     bool send_add_dataflow_monitor6(
00435     const char* dst_xrl_target_name,
00436     const string&   xrl_sender_name,
00437     const IPv6& source_address,
00438     const IPv6& group_address,
00439     const uint32_t& threshold_interval_sec,
00440     const uint32_t& threshold_interval_usec,
00441     const uint32_t& threshold_packets,
00442     const uint32_t& threshold_bytes,
00443     const bool& is_threshold_in_packets,
00444     const bool& is_threshold_in_bytes,
00445     const bool& is_geq_upcall,
00446     const bool& is_leq_upcall,
00447     const AddDataflowMonitor6CB&    cb
00448     );
00449 
00450     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteDataflowMonitor6CB;
00451 
00452     bool send_delete_dataflow_monitor6(
00453     const char* dst_xrl_target_name,
00454     const string&   xrl_sender_name,
00455     const IPv6& source_address,
00456     const IPv6& group_address,
00457     const uint32_t& threshold_interval_sec,
00458     const uint32_t& threshold_interval_usec,
00459     const uint32_t& threshold_packets,
00460     const uint32_t& threshold_bytes,
00461     const bool& is_threshold_in_packets,
00462     const bool& is_threshold_in_bytes,
00463     const bool& is_geq_upcall,
00464     const bool& is_leq_upcall,
00465     const DeleteDataflowMonitor6CB& cb
00466     );
00467 
00468     typedef XorpCallback1<void, const XrlError&>::RefPtr DeleteAllDataflowMonitor6CB;
00469 
00470     bool send_delete_all_dataflow_monitor6(
00471     const char* dst_xrl_target_name,
00472     const string&   xrl_sender_name,
00473     const IPv6& source_address,
00474     const IPv6& group_address,
00475     const DeleteAllDataflowMonitor6CB&  cb
00476     );
00477 
00478 protected:
00479     XrlSender* _sender;
00480 
00481 private:
00482     static void unmarshall_have_multicast_routing4(
00483     const XrlError& e,
00484     XrlArgs*    a,
00485     HaveMulticastRouting4CB     cb
00486     );
00487 
00488     static void unmarshall_register_protocol4(
00489     const XrlError& e,
00490     XrlArgs*    a,
00491     RegisterProtocol4CB     cb
00492     );
00493 
00494     static void unmarshall_unregister_protocol4(
00495     const XrlError& e,
00496     XrlArgs*    a,
00497     UnregisterProtocol4CB       cb
00498     );
00499 
00500     static void unmarshall_add_mfc4(
00501     const XrlError& e,
00502     XrlArgs*    a,
00503     AddMfc4CB       cb
00504     );
00505 
00506     static void unmarshall_delete_mfc4(
00507     const XrlError& e,
00508     XrlArgs*    a,
00509     DeleteMfc4CB        cb
00510     );
00511 
00512     static void unmarshall_add_dataflow_monitor4(
00513     const XrlError& e,
00514     XrlArgs*    a,
00515     AddDataflowMonitor4CB       cb
00516     );
00517 
00518     static void unmarshall_delete_dataflow_monitor4(
00519     const XrlError& e,
00520     XrlArgs*    a,
00521     DeleteDataflowMonitor4CB        cb
00522     );
00523 
00524     static void unmarshall_delete_all_dataflow_monitor4(
00525     const XrlError& e,
00526     XrlArgs*    a,
00527     DeleteAllDataflowMonitor4CB     cb
00528     );
00529 
00530     static void unmarshall_enable_vif(
00531     const XrlError& e,
00532     XrlArgs*    a,
00533     EnableVifCB     cb
00534     );
00535 
00536     static void unmarshall_start_vif(
00537     const XrlError& e,
00538     XrlArgs*    a,
00539     StartVifCB      cb
00540     );
00541 
00542     static void unmarshall_stop_vif(
00543     const XrlError& e,
00544     XrlArgs*    a,
00545     StopVifCB       cb
00546     );
00547 
00548     static void unmarshall_enable_all_vifs(
00549     const XrlError& e,
00550     XrlArgs*    a,
00551     EnableAllVifsCB     cb
00552     );
00553 
00554     static void unmarshall_start_all_vifs(
00555     const XrlError& e,
00556     XrlArgs*    a,
00557     StartAllVifsCB      cb
00558     );
00559 
00560     static void unmarshall_stop_all_vifs(
00561     const XrlError& e,
00562     XrlArgs*    a,
00563     StopAllVifsCB       cb
00564     );
00565 
00566     static void unmarshall_enable_mfea(
00567     const XrlError& e,
00568     XrlArgs*    a,
00569     EnableMfeaCB        cb
00570     );
00571 
00572     static void unmarshall_start_mfea(
00573     const XrlError& e,
00574     XrlArgs*    a,
00575     StartMfeaCB     cb
00576     );
00577 
00578     static void unmarshall_stop_mfea(
00579     const XrlError& e,
00580     XrlArgs*    a,
00581     StopMfeaCB      cb
00582     );
00583 
00584     static void unmarshall_enable_cli(
00585     const XrlError& e,
00586     XrlArgs*    a,
00587     EnableCliCB     cb
00588     );
00589 
00590     static void unmarshall_start_cli(
00591     const XrlError& e,
00592     XrlArgs*    a,
00593     StartCliCB      cb
00594     );
00595 
00596     static void unmarshall_stop_cli(
00597     const XrlError& e,
00598     XrlArgs*    a,
00599     StopCliCB       cb
00600     );
00601 
00602     static void unmarshall_log_trace_all(
00603     const XrlError& e,
00604     XrlArgs*    a,
00605     LogTraceAllCB       cb
00606     );
00607 
00608     static void unmarshall_have_multicast_routing6(
00609     const XrlError& e,
00610     XrlArgs*    a,
00611     HaveMulticastRouting6CB     cb
00612     );
00613 
00614     static void unmarshall_register_protocol6(
00615     const XrlError& e,
00616     XrlArgs*    a,
00617     RegisterProtocol6CB     cb
00618     );
00619 
00620     static void unmarshall_unregister_protocol6(
00621     const XrlError& e,
00622     XrlArgs*    a,
00623     UnregisterProtocol6CB       cb
00624     );
00625 
00626     static void unmarshall_add_mfc6(
00627     const XrlError& e,
00628     XrlArgs*    a,
00629     AddMfc6CB       cb
00630     );
00631 
00632     static void unmarshall_delete_mfc6(
00633     const XrlError& e,
00634     XrlArgs*    a,
00635     DeleteMfc6CB        cb
00636     );
00637 
00638     static void unmarshall_add_dataflow_monitor6(
00639     const XrlError& e,
00640     XrlArgs*    a,
00641     AddDataflowMonitor6CB       cb
00642     );
00643 
00644     static void unmarshall_delete_dataflow_monitor6(
00645     const XrlError& e,
00646     XrlArgs*    a,
00647     DeleteDataflowMonitor6CB        cb
00648     );
00649 
00650     static void unmarshall_delete_all_dataflow_monitor6(
00651     const XrlError& e,
00652     XrlArgs*    a,
00653     DeleteAllDataflowMonitor6CB     cb
00654     );
00655 
00656 private:
00657     /* Declare cached Xrl pointers */
00658     auto_ptr<Xrl> ap_xrl_have_multicast_routing4;
00659     auto_ptr<Xrl> ap_xrl_register_protocol4;
00660     auto_ptr<Xrl> ap_xrl_unregister_protocol4;
00661     auto_ptr<Xrl> ap_xrl_add_mfc4;
00662     auto_ptr<Xrl> ap_xrl_delete_mfc4;
00663     auto_ptr<Xrl> ap_xrl_add_dataflow_monitor4;
00664     auto_ptr<Xrl> ap_xrl_delete_dataflow_monitor4;
00665     auto_ptr<Xrl> ap_xrl_delete_all_dataflow_monitor4;
00666     auto_ptr<Xrl> ap_xrl_enable_vif;
00667     auto_ptr<Xrl> ap_xrl_start_vif;
00668     auto_ptr<Xrl> ap_xrl_stop_vif;
00669     auto_ptr<Xrl> ap_xrl_enable_all_vifs;
00670     auto_ptr<Xrl> ap_xrl_start_all_vifs;
00671     auto_ptr<Xrl> ap_xrl_stop_all_vifs;
00672     auto_ptr<Xrl> ap_xrl_enable_mfea;
00673     auto_ptr<Xrl> ap_xrl_start_mfea;
00674     auto_ptr<Xrl> ap_xrl_stop_mfea;
00675     auto_ptr<Xrl> ap_xrl_enable_cli;
00676     auto_ptr<Xrl> ap_xrl_start_cli;
00677     auto_ptr<Xrl> ap_xrl_stop_cli;
00678     auto_ptr<Xrl> ap_xrl_log_trace_all;
00679     auto_ptr<Xrl> ap_xrl_have_multicast_routing6;
00680     auto_ptr<Xrl> ap_xrl_register_protocol6;
00681     auto_ptr<Xrl> ap_xrl_unregister_protocol6;
00682     auto_ptr<Xrl> ap_xrl_add_mfc6;
00683     auto_ptr<Xrl> ap_xrl_delete_mfc6;
00684     auto_ptr<Xrl> ap_xrl_add_dataflow_monitor6;
00685     auto_ptr<Xrl> ap_xrl_delete_dataflow_monitor6;
00686     auto_ptr<Xrl> ap_xrl_delete_all_dataflow_monitor6;
00687 };
00688 
00689 #endif /* __XRL_INTERFACES_MFEA_XIF_HH__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations