otsdaq  v2_04_01
FESupervisor.h
1 #ifndef _ots_FESupervisor_h_
2 #define _ots_FESupervisor_h_
3 
4 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h"
5 
6 namespace ots
7 {
8 class FEVInterfacesManager;
9 
10 // FESupervisor
11 // This class handles a collection of front-end interface plugins. It
12 // provides an interface to Macro Maker for writes and reads to the front-end interfaces.
14 {
15  // friend FEVInterface;
16 
17  public:
18  XDAQ_INSTANTIATOR();
19 
20  FESupervisor(xdaq::ApplicationStub* s);
21  virtual ~FESupervisor(void);
22 
23  xoap::MessageReference frontEndCommunicationRequest(xoap::MessageReference message);
24  xoap::MessageReference macroMakerSupervisorRequest(xoap::MessageReference message);
25  virtual xoap::MessageReference workLoopStatusRequest(xoap::MessageReference message);
26 
27  protected:
28  FEVInterfacesManager* theFEInterfacesManager_;
29 
30  private:
32  extractFEInterfacesManager(); // likely, just used in constructor
33 };
34 
35 } // namespace ots
36 
37 #endif