$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef otsdaq_otsdaq_core_GatewaySupervisor_ARTDAQCommandable_h 00002 #define otsdaq_otsdaq_core_GatewaySupervisor_ARTDAQCommandable_h 00003 00004 #include "artdaq/Application/Commandable.hh" 00005 #include "artdaq/ExternalComms/CommanderInterface.hh" 00006 #include "boost/thread.hpp" 00007 00008 namespace ots 00009 { 00010 class GatewaySupervisor; 00011 00012 class ARTDAQCommandable : public artdaq::Commandable 00013 { 00014 public: 00015 explicit ARTDAQCommandable(GatewaySupervisor* super); 00016 virtual ~ARTDAQCommandable(); 00017 00018 void init(int commanderId, std::string commanderType); 00019 00020 private: 00021 GatewaySupervisor* theSupervisor_; 00022 std::unique_ptr<artdaq::CommanderInterface> theCommander_; 00023 boost::thread commanderThread_; 00024 00025 public: 00026 // Commandable Overrides 00027 // these methods provide the operations that are used by the state machine 00032 bool do_initialize(fhicl::ParameterSet const&, uint64_t, uint64_t) override; 00033 00038 bool do_start(art::RunID, uint64_t, uint64_t) override; 00039 00044 bool do_stop(uint64_t, uint64_t) override; 00045 00050 bool do_pause(uint64_t, uint64_t) override; 00051 00056 bool do_resume(uint64_t, uint64_t) override; 00057 00062 bool do_shutdown(uint64_t) override; 00063 00066 bool do_meta_command(std::string const&, std::string const&) override; 00067 }; 00068 } // namespace ots 00069 00070 #endif // otsdaq_otsdaq_core_GatewaySupervisor_ARTDAQCommandable_h