tdaq-develop-2025-02-12
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 #include <xdaq/Application.h>
7 #pragma GCC diagnostic pop
8 #include "otsdaq/Macros/CoutMacros.h"
9 #include "otsdaq/Macros/XDAQApplicationMacros.h"
10 
11 #include <map>
12 #include <string>
13 
14 // clang-format off
15 namespace ots
16 {
17 
18 typedef std::map<xdata::UnsignedIntegerT, XDAQ_CONST_CALL xdaq::ApplicationDescriptor*>
20 
22 {
23  public:
25  virtual ~SupervisorDescriptorInfoBase(void);
26 
27  virtual void init(xdaq::ApplicationContext* applicationContext);
28 
29  const SupervisorDescriptors& getDataManagerDescriptors (void) const;
30  const SupervisorDescriptors& getFEDescriptors (void) const;
31  const SupervisorDescriptors& getDTCDescriptors (void) const;
32  const SupervisorDescriptors& getFEDataManagerDescriptors (void) const;
33  // const SupervisorDescriptors& getARTDAQFEDescriptors (void) const;
34  const SupervisorDescriptors& getARTDAQFEDataManagerDescriptors (void) const;
35  const SupervisorDescriptors& getARTDAQDataManagerDescriptors (void) const;
36  const SupervisorDescriptors& getARTDAQBuilderDescriptors (void) const;
37  const SupervisorDescriptors& getARTDAQDataLoggerDescriptors (void) const;
38  const SupervisorDescriptors& getARTDAQDispatcherDescriptors (void) const;
39  const SupervisorDescriptors& getVisualDescriptors (void) const;
40 
41  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getSupervisorDescriptor (void) const;
42  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getLogbookDescriptor (void) const;
43  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getWizardDescriptor (void) const;
44  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
45  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getFEDescriptor (xdata::UnsignedIntegerT instance) const;
46  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDTCDescriptor (xdata::UnsignedIntegerT instance) const;
47  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getFEDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
48  // xdaq::ApplicationDescriptor* getARTDAQFEDescriptor (xdata::UnsignedIntegerT instance) const;
49  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQFEDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
50  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
51  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQBuilderDescriptor (xdata::UnsignedIntegerT instance) const;
52  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQDataLoggerDescriptor (xdata::UnsignedIntegerT instance) const;
53  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQDispatcherDescriptor (xdata::UnsignedIntegerT instance) const;
54  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getVisualDescriptor (xdata::UnsignedIntegerT instance) const;
55 
56  std::string getFEURL (xdata::UnsignedIntegerT instance) const;
57 
58  // std::string getARTDAQFEURL (xdata::UnsignedIntegerT instance) const;
59  // std::string getARTDAQBuilderURL (xdata::UnsignedIntegerT instance) const;
60  // std::string getARTDAQDataLoggerURL (xdata::UnsignedIntegerT instance) const;
61  // std::string getARTDAQDispatcherURL (xdata::UnsignedIntegerT instance) const;
62 
63  protected:
64  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theSupervisor_;
65  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theWizard_;
66  XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theLogbookSupervisor_;
67  SupervisorDescriptors theVisualSupervisors_;
68  SupervisorDescriptors theDataManagerSupervisors_;
69  SupervisorDescriptors theFESupervisors_;
70  SupervisorDescriptors theDTCSupervisors_;
71  SupervisorDescriptors theFEDataManagerSupervisors_;
72  // SupervisorDescriptors theARTDAQFESupervisors_;
73  SupervisorDescriptors theARTDAQFEDataManagerSupervisors_;
74  SupervisorDescriptors theARTDAQDataManagerSupervisors_;
75  SupervisorDescriptors theARTDAQBuilderSupervisors_;
76  SupervisorDescriptors theARTDAQDataLoggerSupervisors_;
77  SupervisorDescriptors theARTDAQDispatcherSupervisors_;
78 };
79 } // namespace ots
80 // clang-format on
81 #endif
std::map< xdata::UnsignedIntegerT, XDAQ_CONST_CALL xdaq::ApplicationDescriptor * > SupervisorDescriptors
key is the crate number