otsdaq  v2_04_02
SupervisorDescriptorInfoBase.h
1 #ifndef _ots_SupervisorTableBase_h_
2 #define _ots_SupervisorTableBase_h_
3 
4 #pragma GCC diagnostic push
5 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
6 #if __GNUC__ >= 8
7 #pragma GCC diagnostic ignored "-Wcatch-value="
8 #endif
9 #include "xdaq/Application.h"
10 #pragma GCC diagnostic pop
11 #include "otsdaq/Macros/CoutMacros.h"
12 #include "otsdaq/Macros/XDAQApplicationMacros.h"
13 
14 #include <map>
15 #include <string>
16 
17 namespace ots
18 {
19 // key is the crate number
20 typedef std::map<xdata::UnsignedIntegerT, XDAQ_CONST_CALL xdaq::ApplicationDescriptor*>
21  SupervisorDescriptors;
22 
23 class SupervisorDescriptorInfoBase
24 {
25  friend class SupervisorInfo; //"Friend" class needs access to private members
26  public:
27  SupervisorDescriptorInfoBase(void);
28  SupervisorDescriptorInfoBase(xdaq::ApplicationContext* applicationContext);
29  virtual ~SupervisorDescriptorInfoBase(void);
30 
31  protected:
32  virtual void init(xdaq::ApplicationContext* applicationContext);
33  virtual void destroy();
34 
35  const SupervisorDescriptors& getAllDescriptors(void) const;
36 
37  protected:
38  SupervisorDescriptors allSupervisors_;
39 };
40 } // namespace ots
41 #endif