00001 /* DarkSide 50 DAQ program 00002 * This file add the xmlrpc commander as a client to the SC 00003 * Author: Alessandro Razeto <Alessandro.Razeto@ge.infn.it> 00004 */ 00005 #ifndef artdaq_ExternalComms_xmlrpc_commander_hh 00006 #define artdaq_ExternalComms_xmlrpc_commander_hh 00007 00008 #include <mutex> 00009 #include "artdaq/Application/Commandable.hh" 00010 00011 namespace artdaq 00012 { 00013 class xmlrpc_commander; 00014 } 00015 00019 class artdaq::xmlrpc_commander 00020 { 00021 public: 00027 xmlrpc_commander(int port, artdaq::Commandable& commandable); 00028 00032 void run(); 00033 00034 private: 00035 xmlrpc_commander(const xmlrpc_commander&) = delete; 00036 00037 xmlrpc_commander(xmlrpc_commander&&) = delete; 00038 00039 int _port; 00040 00041 public: 00042 artdaq::Commandable& _commandable; 00043 std::mutex mutex_; 00044 }; 00045 00046 #endif /* artdaq_ExternalComms_xmlrpc_commander_hh */