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