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