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 // key is the crate number 00016 typedef std::map<xdata::UnsignedIntegerT, XDAQ_CONST_CALL xdaq::ApplicationDescriptor*> SupervisorDescriptors; 00017 00018 class SupervisorDescriptorInfoBase 00019 { 00020 00021 friend class SupervisorInfo; //"Friend" class needs access to private members 00022 public: 00023 00024 SupervisorDescriptorInfoBase (void); 00025 SupervisorDescriptorInfoBase (xdaq::ApplicationContext* applicationContext); 00026 virtual ~SupervisorDescriptorInfoBase (void); 00027 00028 //XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getSupervisorDescriptor (void) const; 00029 //XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getWizardDescriptor (void) const; 00030 00031 protected: 00032 virtual void init (xdaq::ApplicationContext* applicationContext); 00033 virtual void destroy (); 00034 00035 00036 const SupervisorDescriptors& getAllDescriptors (void) const; 00037 // const SupervisorDescriptors& getAllFEDescriptors (void) const; 00038 00039 // const SupervisorDescriptors& getDataManagerDescriptors (void) const; 00040 // const SupervisorDescriptors& getFEDescriptors (void) const; 00041 // //const SupervisorDescriptors& getDTCDescriptors (void) const; 00042 // const SupervisorDescriptors& getFEDataManagerDescriptors (void) const; 00043 // //const SupervisorDescriptors& getARTDAQFEDescriptors (void) const; 00044 // const SupervisorDescriptors& getARTDAQFEDataManagerDescriptors(void) const; 00045 // const SupervisorDescriptors& getARTDAQDataManagerDescriptors (void) const; 00046 // const SupervisorDescriptors& getARTDAQBuilderDescriptors (void) const; 00047 // const SupervisorDescriptors& getARTDAQAggregatorDescriptors (void) const; 00048 // const SupervisorDescriptors& getVisualDescriptors (void) const; 00049 00050 00051 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getLogbookDescriptor (void) const; 00052 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDataManagerDescriptor (xdata::UnsignedIntegerT instance) const; 00053 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getFEDescriptor (xdata::UnsignedIntegerT instance) const; 00054 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDTCDescriptor (xdata::UnsignedIntegerT instance) const; 00055 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getFEDataManagerDescriptor (xdata::UnsignedIntegerT instance) const; 00056 // //xdaq::ApplicationDescriptor* getARTDAQFEDescriptor (xdata::UnsignedIntegerT instance) const; 00057 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQFEDataManagerDescriptor(xdata::UnsignedIntegerT instance) const; 00058 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQDataManagerDescriptor (xdata::UnsignedIntegerT instance) const; 00059 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQBuilderDescriptor (xdata::UnsignedIntegerT instance) const; 00060 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getARTDAQAggregatorDescriptor (xdata::UnsignedIntegerT instance) const; 00061 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getVisualDescriptor (xdata::UnsignedIntegerT instance) const; 00062 00063 // std::string getFEURL (xdata::UnsignedIntegerT instance) const; 00064 00065 // std::string getARTDAQFEURL (xdata::UnsignedIntegerT instance) const; 00066 // std::string getARTDAQBuilderURL (xdata::UnsignedIntegerT instance) const; 00067 // std::string getARTDAQAggregatorURL (xdata::UnsignedIntegerT instance) const; 00068 00069 protected: 00070 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theSupervisor_; 00071 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theWizard_; 00072 // XDAQ_CONST_CALL xdaq::ApplicationDescriptor* theLogbookSupervisor_; 00073 // 00074 // SupervisorDescriptors theVisualSupervisors_; 00075 // SupervisorDescriptors theDataManagerSupervisors_; 00076 // SupervisorDescriptors theFESupervisors_; 00077 // SupervisorDescriptors theDTCSupervisors_; 00078 // SupervisorDescriptors theFEDataManagerSupervisors_; 00079 // //SupervisorDescriptors theARTDAQFESupervisors_; 00080 // SupervisorDescriptors theARTDAQFEDataManagerSupervisors_; 00081 // SupervisorDescriptors theARTDAQDataManagerSupervisors_; 00082 // SupervisorDescriptors theARTDAQBuilderSupervisors_; 00083 // SupervisorDescriptors theARTDAQAggregatorSupervisors_; 00084 00085 SupervisorDescriptors allSupervisors_; 00086 //SupervisorDescriptors allFETypeSupervisors_; 00087 }; 00088 } 00089 #endif