artdaq  v3_00_01
DispatcherApp.hh
1 #ifndef artdaq_Application_MPI2_DispatcherApp_hh
2 #define artdaq_Application_MPI2_DispatcherApp_hh
3 
4 #include <future>
5 
6 #include "artdaq/Application/DispatcherCore.hh"
7 #include "artdaq/Application/Commandable.hh"
8 
9 namespace artdaq
10 {
11  class DispatcherApp;
12 }
13 
18 {
19 public:
25  DispatcherApp(int rank, std::string name);
26 
30  DispatcherApp(DispatcherApp const&) = delete;
31 
35  virtual ~DispatcherApp() = default;
36 
41  DispatcherApp& operator=(DispatcherApp const&) = delete;
42 
43  // these methods provide the operations that are used by the state machine
49  bool do_initialize(fhicl::ParameterSet const& pset, uint64_t, uint64_t) override;
50 
56  bool do_start(art::RunID id, uint64_t, uint64_t) override;
57 
62  bool do_stop(uint64_t, uint64_t) override;
63 
68  bool do_pause(uint64_t, uint64_t) override;
69 
74  bool do_resume(uint64_t, uint64_t) override;
75 
80  bool do_shutdown(uint64_t) override;
81 
86  bool do_soft_initialize(fhicl::ParameterSet const&, uint64_t, uint64_t) override;
87 
92  bool do_reinitialize(fhicl::ParameterSet const&, uint64_t, uint64_t) override;
93 
99  std::string report(std::string const& which) const override;
100 
106  std::string register_monitor(fhicl::ParameterSet const& info) override;
107 
113  std::string unregister_monitor(std::string const& label) override;
114 
115 private:
116  int rank_;
117  std::string name_;
118  std::unique_ptr<DispatcherCore> Dispatcher_ptr_;
119 };
120 
121 #endif
DispatcherApp is an artdaq::Commandable derived class which controls the DispatcherCore.
Commandable is the base class for all artdaq components which implement the artdaq state machine...
Definition: Commandable.hh:20
virtual ~DispatcherApp()=default
Default virtual destructor.
bool do_start(art::RunID id, uint64_t, uint64_t) override
Start the DispatcherCore.
bool do_pause(uint64_t, uint64_t) override
Pause the DispatcherCore.
bool do_resume(uint64_t, uint64_t) override
Resume the DispatcherCore.
std::string unregister_monitor(std::string const &label) override
Remove an art Online Monitor from the DispatcherCore.
bool do_initialize(fhicl::ParameterSet const &pset, uint64_t, uint64_t) override
Initialize the DispatcherCore.
DispatcherApp(int rank, std::string name)
DispatcherApp Constructor.
Definition: DispatcherApp.cc:7
bool do_stop(uint64_t, uint64_t) override
Stop the DispatcherCore.
bool do_soft_initialize(fhicl::ParameterSet const &, uint64_t, uint64_t) override
Soft-initialize the DispatcherCore. No-Op.
bool do_reinitialize(fhicl::ParameterSet const &, uint64_t, uint64_t) override
Reinitialize the DispatcherCore. No-Op.
std::string register_monitor(fhicl::ParameterSet const &info) override
Register an art Online Monitor to the DispatcherCore.
std::string report(std::string const &which) 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) override
Shutdown the DispatcherCore.
DispatcherApp & operator=(DispatcherApp const &)=delete
Copy Assignment operator is Deleted.