1 #ifndef _ots_AllSupervisorInfo_h 
    2 #define _ots_AllSupervisorInfo_h 
    8 #include "otsdaq/SupervisorInfo/SupervisorDescriptorInfoBase.h" 
    9 #include "otsdaq/SupervisorInfo/SupervisorInfo.h" 
   15 typedef std::map<unsigned int, const SupervisorInfo&> SupervisorInfoMap;
 
   37     void                                                    init                                (xdaq::ApplicationContext* applicationContext);
 
   41     bool                                                    isWizardMode                        (
void)
 const { 
return theWizardInfo_ ? true : 
false; }
 
   42     bool                                                    isMacroMakerMode                    (
void)
 const { 
return AllSupervisorInfo::MACROMAKER_MODE; }
 
   45     void                                                    setSupervisorStatus                 (xdaq::Application* app, 
const std::string& status, 
const unsigned int progress = 100, 
const std::string& detail = 
"", std::vector<SupervisorInfo::SubappInfo> subapps = {});
 
   46     void                                                    setSupervisorStatus                 (
const SupervisorInfo& appInfo, 
const std::string& status, 
const unsigned int progress = 100, 
const std::string& detail = 
"", std::vector<SupervisorInfo::SubappInfo> subapps = {});
 
   47     void                                                    setSupervisorStatus                 (
const unsigned int& 
id, 
const std::string& status, 
const unsigned int progress = 100, 
const std::string& detail = 
"", std::vector<SupervisorInfo::SubappInfo> subapps = {});
 
   52     const SupervisorInfoMap&                                getAllFETypeSupervisorInfo          (
void)
 const { 
return allFETypeSupervisorInfo_; }
 
   53     const SupervisorInfoMap&                                getAllDMTypeSupervisorInfo          (
void)
 const { 
return allDMTypeSupervisorInfo_; }
 
   54     const SupervisorInfoMap&                                getAllLogbookTypeSupervisorInfo     (
void)
 const { 
return allLogbookTypeSupervisorInfo_; }
 
   55     const SupervisorInfoMap&                                getAllMacroMakerTypeSupervisorInfo  (
void)
 const { 
return allMacroMakerTypeSupervisorInfo_; }
 
   56     const std::map<std::string , 
const SupervisorInfo&>&   getAllTraceControllerSupervisorInfo  (
void)
 const { 
return allTraceControllerSupervisorInfo_; }
 
   58     const SupervisorInfo&                                   getSupervisorInfo                   (xdaq::Application* app) 
const;
 
   60     XDAQ_CONST_CALL xdaq::ApplicationDescriptor*            getGatewayDescriptor                (
void) 
const;
 
   62     XDAQ_CONST_CALL xdaq::ApplicationDescriptor*            getWizardDescriptor                 (
void) 
const;
 
   65     std::vector<std::vector<const SupervisorInfo*>>         getOrderedSupervisorDescriptors     (
const std::string& stateMachineCommand, 
bool onlyGatewayContextSupervisors = 
false) 
const;
 
   66     std::recursive_mutex&                                   getSupervisorInfoMutex              (
unsigned int lid) { 
return allSupervisorInfoMutex_[lid]; }
 
   73     std::map<
unsigned int , std::recursive_mutex>      allSupervisorInfoMutex_; 
 
   74     SupervisorInfoMap                                           allFETypeSupervisorInfo_, allDMTypeSupervisorInfo_, allLogbookTypeSupervisorInfo_, allMacroMakerTypeSupervisorInfo_;
 
   76     std::map<std::string , 
const SupervisorInfo&>   allTraceControllerSupervisorInfo_;
 
   78     static const bool                                           MACROMAKER_MODE;
 
void setSupervisorStatus(xdaq::Application *app, const std::string &status, const unsigned int progress=100, const std::string &detail="", std::vector< SupervisorInfo::SubappInfo > subapps={})
SETTERs.
bool isWizardMode(void) const
BOOLs.
const std::map< unsigned int, SupervisorInfo > & getAllSupervisorInfo(void) const
GETTERs (so searching and iterating is easier)
friend class SupervisorInfo
"Friend" class needs access to private members