00001 #ifndef _ots_SupervisorConfigurationBase_h_
00002 #define _ots_SupervisorConfigurationBase_h_
00003
00004 #pragma GCC diagnostic push
00005 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
00006 #include "xdaq/Application.h"
00007 #pragma GCC diagnostic pop
00008 #include "otsdaq-core/Macros/CoutHeaderMacros.h"
00009
00010 #include <string>
00011 #include <map>
00012
00013 namespace ots
00014 {
00015
00016 typedef std::map<xdata::UnsignedIntegerT, XDAQ_CONST_CALL xdaq::ApplicationDescriptor*> SupervisorDescriptors;
00017
00018 class SupervisorDescriptorInfoBase
00019 {
00020 public:
00021
00022 SupervisorDescriptorInfoBase (void);
00023 virtual ~SupervisorDescriptorInfoBase(void);
00024
00025 virtual void init(xdaq::ApplicationContext* applicationContext);
00026
00027 const SupervisorDescriptors& getDataManagerDescriptors (void) const;
00028 const SupervisorDescriptors& getFEDescriptors (void) const;
00029 const SupervisorDescriptors& getDTCDescriptors (void) const;
00030 const SupervisorDescriptors& getFEDataManagerDescriptors (void) const;
00031
00032 const SupervisorDescriptors& getARTDAQFEDataManagerDescriptors(void) const;
00033 const SupervisorDescriptors& getARTDAQDataManagerDescriptors (void) const;
00034 const SupervisorDescriptors& getARTDAQBuilderDescriptors (void) const;
00035 const SupervisorDescriptors& getARTDAQAggregatorDescriptors (void) const;
00036 const SupervisorDescriptors& getVisualDescriptors (void) const;
00037
00038
00039 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getSupervisorDescriptor (void) const;
00040 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getLogbookDescriptor (void) const;
00041 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getWizardDescriptor (void) const;
00042 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
00043 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getFEDescriptor (xdata::UnsignedIntegerT instance) const;
00044 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDTCDescriptor (xdata::UnsignedIntegerT instance) const;
00045 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getFEDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
00046
00047 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQFEDataManagerDescriptor(xdata::UnsignedIntegerT instance) const;
00048 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQDataManagerDescriptor (xdata::UnsignedIntegerT instance) const;
00049 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQBuilderDescriptor (xdata::UnsignedIntegerT instance) const;
00050 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQAggregatorDescriptor (xdata::UnsignedIntegerT instance) const;
00051 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getVisualDescriptor (xdata::UnsignedIntegerT instance) const;
00052
00053 std::string getFEURL (xdata::UnsignedIntegerT instance) const;
00054
00055
00056
00057
00058
00059 protected:
00060 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theSupervisor_;
00061 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theWizard_;
00062 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theLogbookSupervisor_;
00063 SupervisorDescriptors theVisualSupervisors_;
00064 SupervisorDescriptors theDataManagerSupervisors_;
00065 SupervisorDescriptors theFESupervisors_;
00066 SupervisorDescriptors theDTCSupervisors_;
00067 SupervisorDescriptors theFEDataManagerSupervisors_;
00068
00069 SupervisorDescriptors theARTDAQFEDataManagerSupervisors_;
00070 SupervisorDescriptors theARTDAQDataManagerSupervisors_;
00071 SupervisorDescriptors theARTDAQBuilderSupervisors_;
00072 SupervisorDescriptors theARTDAQAggregatorSupervisors_;
00073 };
00074 }
00075 #endif