$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_SupervisorInfo_h_ 00002 #define _ots_SupervisorInfo_h_ 00003 00004 #include <string> 00005 #include "otsdaq-core/Macros/CoutMacros.h" /* also for XDAQ_CONST_CALL */ 00006 #include "otsdaq-core/TablePluginDataFormats/XDAQContextTable.h" 00007 00008 #pragma GCC diagnostic push 00009 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 00010 #include "xdaq/Application.h" /* for xdaq::ApplicationDescriptor */ 00011 #include "xdaq/ContextDescriptor.h" /* for xdaq::ContextDescriptor */ 00012 #pragma GCC diagnostic pop 00013 #include "otsdaq-core/Macros/XDAQApplicationMacros.h" 00014 00015 namespace ots 00016 { 00017 class SupervisorInfo 00018 { 00019 public: 00020 // when no configuration, e.g. Wizard Mode, then 00021 // name and contextName are derived from the class name and LID 00022 SupervisorInfo(XDAQ_CONST_CALL xdaq::ApplicationDescriptor* descriptor, 00023 const std::string& name, 00024 const std::string& contextName) 00025 : descriptor_(descriptor) 00026 , contextDescriptor_(descriptor ? descriptor->getContextDescriptor() : 0) 00027 , name_(name) 00028 , // this is the config app name 00029 contextName_(contextName) 00030 , // this is the config parent context name 00031 id_(descriptor ? descriptor->getLocalId() : 0) 00032 , class_(descriptor ? descriptor->getClassName() : "") 00033 , contextURL_(contextDescriptor_ ? contextDescriptor_->getURL() : "") 00034 , URN_(descriptor ? descriptor->getURN() : "") 00035 , URL_(contextURL_ + "/" + URN_) 00036 , port_(0) 00037 , status_("Unknown") 00038 { 00039 // when no configuration, e.g. Wizard Mode, then 00040 // name and contextName are derived from the class name and LID 00041 if(name_ == "") 00042 name_ = id_; 00043 if(contextName_ == "") 00044 contextName_ = class_; 00045 00046 // __COUTV__(name_); 00047 // __COUTV__(contextName_); 00048 // __COUTV__(id_); 00049 // __COUTV__(contextURL_); 00050 // __COUTV__(URN_); 00051 // __COUTV__(URL_); 00052 // __COUTV__(port_); 00053 // __COUTV__(class_); 00054 } 00055 00056 ~SupervisorInfo(void) { ; } 00057 00058 // BOOLs ------------------- 00059 bool isGatewaySupervisor(void) const 00060 { 00061 return class_ == XDAQContextTable::GATEWAY_SUPERVISOR_CLASS; 00062 } 00063 bool isWizardSupervisor(void) const 00064 { 00065 return class_ == XDAQContextTable::WIZARD_SUPERVISOR_CLASS; 00066 } 00067 bool isTypeFESupervisor(void) const 00068 { 00069 return XDAQContextTable::FETypeClassNames_.find(class_) != 00070 XDAQContextTable::FETypeClassNames_.end(); 00071 } 00072 bool isTypeDMSupervisor(void) const 00073 { 00074 return XDAQContextTable::DMTypeClassNames_.find(class_) != 00075 XDAQContextTable::DMTypeClassNames_.end(); 00076 } 00077 bool isTypeLogbookSupervisor(void) const 00078 { 00079 return XDAQContextTable::LogbookTypeClassNames_.find(class_) != 00080 XDAQContextTable::LogbookTypeClassNames_.end(); 00081 } 00082 bool isTypeMacroMakerSupervisor(void) const 00083 { 00084 return XDAQContextTable::MacroMakerTypeClassNames_.find(class_) != 00085 XDAQContextTable::MacroMakerTypeClassNames_.end(); 00086 } 00087 bool isTypeConfigurationGUISupervisor(void) const 00088 { 00089 return XDAQContextTable::ConfigurationGUITypeClassNames_.find(class_) != 00090 XDAQContextTable::ConfigurationGUITypeClassNames_.end(); 00091 } 00092 bool isTypeChatSupervisor(void) const 00093 { 00094 return XDAQContextTable::ChatTypeClassNames_.find(class_) != 00095 XDAQContextTable::ChatTypeClassNames_.end(); 00096 } 00097 bool isTypeConsoleSupervisor(void) const 00098 { 00099 return XDAQContextTable::ConsoleTypeClassNames_.find(class_) != 00100 XDAQContextTable::ConsoleTypeClassNames_.end(); 00101 } 00102 00103 // Getters ------------------- 00104 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* getDescriptor(void) const 00105 { 00106 return descriptor_; 00107 } 00108 const xdaq::ContextDescriptor* getContextDescriptor(void) const 00109 { 00110 return contextDescriptor_; 00111 } 00112 const std::string& getName(void) const { return name_; } 00113 const std::string& getContextName(void) const { return contextName_; } 00114 const unsigned int& getId(void) const { return id_; } 00115 const std::string& getClass(void) const { return class_; } 00116 const std::string& getStatus(void) const { return status_; } 00117 const std::string& getURL(void) const { return contextURL_; } 00118 const std::string& getURN(void) const { return URN_; } 00119 const std::string& getFullURL(void) const { return URL_; } 00120 const uint16_t& getPort(void) const { return port_; } 00121 00122 // Setters ------------------- 00123 void setStatus(const std::string& status) { status_ = status; } 00124 void clear(void) 00125 { 00126 descriptor_ = 0; 00127 contextDescriptor_ = 0; 00128 name_ = ""; 00129 id_ = 0; 00130 contextName_ = ""; 00131 status_ = "Unknown"; 00132 } 00133 00134 private: 00135 XDAQ_CONST_CALL xdaq::ApplicationDescriptor* descriptor_; 00136 XDAQ_CONST_CALL xdaq::ContextDescriptor* contextDescriptor_; 00137 std::string name_; 00138 std::string contextName_; 00139 unsigned int id_; 00140 std::string class_; 00141 std::string contextURL_; 00142 std::string URN_; 00143 std::string URL_; 00144 uint16_t port_; 00145 std::string status_; 00146 }; 00147 00148 } // namespace ots 00149 00150 #endif