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