artdaq  v3_05_00
RoutingMasterApp.hh
1 #ifndef artdaq_Application_MPI2_RoutingMasterApp_hh
2 #define artdaq_Application_MPI2_RoutingMasterApp_hh
3 
4 #include "artdaq/Application/Commandable.hh"
5 #include "artdaq/Application/RoutingMasterCore.hh"
6 
7 namespace artdaq
8 {
9  class RoutingMasterApp;
10 }
11 
16 {
17 public:
22 
26  RoutingMasterApp(RoutingMasterApp const&) = delete;
27 
31  virtual ~RoutingMasterApp() = default;
32 
38 
39  // these methods provide the operations that are used by the state machine
47  bool do_initialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override;
48 
56  bool do_start(art::RunID id, uint64_t timeout, uint64_t timestamp) override;
57 
64  bool do_stop(uint64_t timeout, uint64_t timestamp) override;
65 
72  bool do_pause(uint64_t timeout, uint64_t timestamp) override;
73 
80  bool do_resume(uint64_t timeout, uint64_t timestamp) override;
81 
87  bool do_shutdown(uint64_t timeout) override;
88 
96  bool do_soft_initialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override;
97 
105  bool do_reinitialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override;
106 
112  void BootedEnter() override;
113 
114  /* Report_ptr */
120  std::string report(std::string const&) const override;
121 
122 private:
123  std::unique_ptr<artdaq::RoutingMasterCore> routing_master_ptr_;
124  boost::thread routing_master_thread_;
125 };
126 
127 #endif /* artdaq_Application_MPI2_RoutingMasterApp_hh */
bool do_initialize(fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) override
Initialize the RoutingMasterCore.
bool do_pause(uint64_t timeout, uint64_t timestamp) override
Pause the RoutingMasterCore.
Commandable is the base class for all artdaq components which implement the artdaq state machine...
Definition: Commandable.hh:20
RoutingMasterApp()
RoutingMasterApp Constructor.
virtual ~RoutingMasterApp()=default
Default Destructor.
bool do_resume(uint64_t timeout, uint64_t timestamp) override
Resume the RoutingMasterCore.
RoutingMasterApp & operator=(RoutingMasterApp const &)=delete
Copy Assignment Operator is deleted.
bool do_stop(uint64_t timeout, uint64_t timestamp) override
Stop the RoutingMasterCore.
std::string report(std::string const &) const override
If which is &quot;transition_status&quot;, report the status of the last transition. Otherwise pass through to ...
bool do_shutdown(uint64_t timeout) override
Shutdown the RoutingMasterCore.
bool do_soft_initialize(fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) override
Soft-Initialize the RoutingMasterCore.
bool do_reinitialize(fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) override
Reinitialize the RoutingMasterCore.
bool do_start(art::RunID id, uint64_t timeout, uint64_t timestamp) override
Start the RoutingMasterCore.
void BootedEnter() override
Action taken upon entering the &quot;Booted&quot; state.
RoutingMasterApp is an artdaq::Commandable derived class which controls the RoutingMasterCore state m...