artdaq  v3_09_01
RoutingManagerApp.hh
1 #ifndef artdaq_Application_MPI2_RoutingManagerApp_hh
2 #define artdaq_Application_MPI2_RoutingManagerApp_hh
3 
4 #include "artdaq/Application/Commandable.hh"
5 #include "artdaq/Application/RoutingManagerCore.hh"
6 
7 namespace artdaq {
8 class RoutingManagerApp;
9 }
10 
15 {
16 public:
21 
25  RoutingManagerApp(RoutingManagerApp const&) = delete;
26 
30  virtual ~RoutingManagerApp() = default;
31 
39 
40  // these methods provide the operations that are used by the state machine
48  bool do_initialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override;
49 
57  bool do_start(art::RunID id, uint64_t timeout, uint64_t timestamp) override;
58 
65  bool do_stop(uint64_t timeout, uint64_t timestamp) override;
66 
73  bool do_pause(uint64_t timeout, uint64_t timestamp) override;
74 
81  bool do_resume(uint64_t timeout, uint64_t timestamp) override;
82 
88  bool do_shutdown(uint64_t timeout) override;
89 
97  bool do_soft_initialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override;
98 
106  bool do_reinitialize(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp) override;
107 
113  void BootedEnter() override;
114 
115  /* Report_ptr */
121  std::string report(std::string const&) const override;
122 
123 private:
124  std::unique_ptr<artdaq::RoutingManagerCore> routing_manager_ptr_;
125  boost::thread routing_manager_thread_;
126 };
127 
128 #endif /* artdaq_Application_MPI2_RoutingManagerApp_hh */
bool do_resume(uint64_t timeout, uint64_t timestamp) override
Resume the RoutingManagerCore.
Commandable is the base class for all artdaq components which implement the artdaq state machine...
Definition: Commandable.hh:20
bool do_shutdown(uint64_t timeout) override
Shutdown the RoutingManagerCore.
bool do_stop(uint64_t timeout, uint64_t timestamp) override
Stop the RoutingManagerCore.
bool do_initialize(fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) override
Initialize the RoutingManagerCore.
RoutingManagerApp is an artdaq::Commandable derived class which controls the RoutingManagerCore state...
bool do_soft_initialize(fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) override
Soft-Initialize the RoutingManagerCore.
bool do_start(art::RunID id, uint64_t timeout, uint64_t timestamp) override
Start the RoutingManagerCore.
RoutingManagerApp & operator=(RoutingManagerApp const &)=delete
Copy Assignment Operator is deleted.
void BootedEnter() override
Action taken upon entering the &quot;Booted&quot; state.
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 ...
virtual ~RoutingManagerApp()=default
Default Destructor.
bool do_pause(uint64_t timeout, uint64_t timestamp) override
Pause the RoutingManagerCore.
RoutingManagerApp()
RoutingManagerApp Constructor.
bool do_reinitialize(fhicl::ParameterSet const &pset, uint64_t timeout, uint64_t timestamp) override
Reinitialize the RoutingManagerCore.