5 #ifndef artdaq_ExternalComms_xmlrpc_commander_hh
6 #define artdaq_ExternalComms_xmlrpc_commander_hh
9 #include "artdaq/ExternalComms/CommanderInterface.hh"
61 std::string
send_init(fhicl::ParameterSet
const& ps, uint64_t timeout, uint64_t timestamp)
override;
73 std::string
send_soft_init(fhicl::ParameterSet
const& ps, uint64_t timeout, uint64_t timestamp)
override;
85 std::string
send_reinit(fhicl::ParameterSet
const& ps, uint64_t timeout, uint64_t timestamp)
override;
97 std::string
send_start(art::RunID runNumber, uint64_t timeout, uint64_t timestamp)
override;
108 std::string
send_pause(uint64_t timeout, uint64_t timestamp)
override;
119 std::string
send_resume(uint64_t timeout, uint64_t timestamp)
override;
130 std::string
send_stop(uint64_t timeout, uint64_t timestamp)
override;
157 std::string
send_report(std::string
const& what)
override;
190 std::string
send_trace_set(std::string
const& name, std::string
const& type, std::string
const& mask)
override;
200 std::string
send_meta_command(std::string
const& command, std::string
const& argument)
override;
221 std::string serverUrl_;
223 std::string send_command_(
const std::string& command);
224 std::string send_command_(
const std::string& command,
const std::string& arg);
225 std::string send_command_(
const std::string& command,
const fhicl::ParameterSet& pset, uint64_t timestamp, uint64_t timeout);
226 std::string send_command_(
const std::string& command, uint64_t a, uint64_t b);
227 std::string send_command_(
const std::string& command, uint64_t a, uint32_t b);
228 std::string send_command_(
const std::string& command, art::RunID r, uint64_t a, uint64_t b);
229 std::string send_command_(
const std::string&, uint64_t);
230 std::string send_command_(
const std::string&,
const std::string&,
const std::string&);
231 std::string send_command_(
const std::string&,
const std::string&,
const std::string&,
const std::string&);
235 std::unique_ptr<xmlrpc_c::serverAbyss>
server;
This interface defines the functions used to transfer data between artdaq applications.
Commandable is the base class for all artdaq components which implement the artdaq state machine...
xmlrpc_commander(const fhicl::ParameterSet &ps, artdaq::Commandable &commandable)
xmlrpc_commander Constructor
std::string send_trace_set(std::string const &name, std::string const &type, std::string const &mask) override
Send an send_trace_msgfacility_set command over XMLRPC
std::string send_register_monitor(std::string const &monitor_fhicl) override
Send a register_monitor command over XMLRPC
std::string send_init(fhicl::ParameterSet const &ps, uint64_t timeout, uint64_t timestamp) override
Send an init command over XMLRPC
std::string send_meta_command(std::string const &command, std::string const &argument) override
Send an send_meta_command command over XMLRPC
std::string send_stop(uint64_t timeout, uint64_t timestamp) override
Send a stop command over XMLRPC
std::string send_status() override
Send a status command over XMLRPC
std::string send_legal_commands() override
Send a legal_commands command over XMLRPC
The xmlrpc_commander class serves as the XMLRPC server run in each artdaq application.
void run_server() override
Run the XMLRPC server.
std::unique_ptr< xmlrpc_c::serverAbyss > server
XMLRPC server.
std::string send_shutdown(uint64_t timeout) override
Send a shutdown command over XMLRPC
std::string send_reinit(fhicl::ParameterSet const &ps, uint64_t timeout, uint64_t timestamp) override
Send a reinit command over XMLRPC
std::string send_trace_get(std::string const &name) override
Send an send_trace_get command over XMLRPC
std::string send_pause(uint64_t timeout, uint64_t timestamp) override
Send a pause command over XMLRPC
std::string send_start(art::RunID runNumber, uint64_t timeout, uint64_t timestamp) override
Send a start command over XMLRPC
std::timed_mutex mutex_
XMLRPC mutex.
std::string send_rollover_subrun(uint64_t when, uint32_t sr) override
Send a send_rollover_subrun command over XMLRPC
std::string send_soft_init(fhicl::ParameterSet const &ps, uint64_t timeout, uint64_t timestamp) override
Send a soft_init command over XMLRPC
std::string send_resume(uint64_t timeout, uint64_t timestamp) override
Send a resume command over XMLRPC
std::string send_unregister_monitor(std::string const &monitor_label) override
Send an unregister_monitor command over XMLRPC
std::string send_report(std::string const &what) override
Send a report command over XMLRPC