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