otsdaq  v2_04_01
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-core/Macros/CoutMacros.h"
12 #include "otsdaq-core/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  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getSupervisorDescriptor (void)
32  // const; XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getWizardDescriptor
33  // (void) const;
34 
35  protected:
36  virtual void init(xdaq::ApplicationContext* applicationContext);
37  virtual void destroy();
38 
39  const SupervisorDescriptors& getAllDescriptors(void) const;
40  // const SupervisorDescriptors& getAllFEDescriptors (void) const;
41 
42  // const SupervisorDescriptors& getDataManagerDescriptors (void) const;
43  // const SupervisorDescriptors& getFEDescriptors (void) const;
44  // //const SupervisorDescriptors& getDTCDescriptors (void) const;
45  // const SupervisorDescriptors& getFEDataManagerDescriptors (void) const;
46  // //const SupervisorDescriptors& getARTDAQFEDescriptors (void) const;
47  // const SupervisorDescriptors& getARTDAQFEDataManagerDescriptors(void) const;
48  // const SupervisorDescriptors& getARTDAQDataManagerDescriptors (void) const;
49  // const SupervisorDescriptors& getARTDAQBuilderDescriptors (void) const;
50  // const SupervisorDescriptors& getARTDAQAggregatorDescriptors (void) const;
51  // const SupervisorDescriptors& getVisualDescriptors (void) const;
52 
53  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getLogbookDescriptor (void) const;
54  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDataManagerDescriptor
55  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
56  // xdaq::ApplicationDescriptor* getFEDescriptor
57  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
58  // xdaq::ApplicationDescriptor* getDTCDescriptor
59  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
60  // xdaq::ApplicationDescriptor* getFEDataManagerDescriptor
61  // (xdata::UnsignedIntegerT instance) const;
62  // //xdaq::ApplicationDescriptor* getARTDAQFEDescriptor
63  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
64  // xdaq::ApplicationDescriptor*
65  // getARTDAQFEDataManagerDescriptor(xdata::UnsignedIntegerT instance) const;
66  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQDataManagerDescriptor
67  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
68  // xdaq::ApplicationDescriptor* getARTDAQBuilderDescriptor
69  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
70  // xdaq::ApplicationDescriptor* getARTDAQAggregatorDescriptor
71  // (xdata::UnsignedIntegerT instance) const; XDAQ_CONST_CALL
72  // xdaq::ApplicationDescriptor* getVisualDescriptor
73  // (xdata::UnsignedIntegerT instance) const;
74 
75  // std::string getFEURL
76  // (xdata::UnsignedIntegerT instance) const;
77 
78  // std::string getARTDAQFEURL (xdata::UnsignedIntegerT instance) const;
79  // std::string getARTDAQBuilderURL (xdata::UnsignedIntegerT instance) const;
80  // std::string getARTDAQAggregatorURL (xdata::UnsignedIntegerT instance) const;
81 
82  protected:
83  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theSupervisor_;
84  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theWizard_;
85  // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theLogbookSupervisor_;
86  //
87  // SupervisorDescriptors theVisualSupervisors_;
88  // SupervisorDescriptors theDataManagerSupervisors_;
89  // SupervisorDescriptors theFESupervisors_;
90  // SupervisorDescriptors theDTCSupervisors_;
91  // SupervisorDescriptors theFEDataManagerSupervisors_;
92  // //SupervisorDescriptors theARTDAQFESupervisors_;
93  // SupervisorDescriptors theARTDAQFEDataManagerSupervisors_;
94  // SupervisorDescriptors theARTDAQDataManagerSupervisors_;
95  // SupervisorDescriptors theARTDAQBuilderSupervisors_;
96  // SupervisorDescriptors theARTDAQAggregatorSupervisors_;
97 
98  SupervisorDescriptors allSupervisors_;
99  // SupervisorDescriptors allFETypeSupervisors_;
100 };
101 } // namespace ots
102 #endif