$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef _ots_SlowControlsVInterface_h_ 00002 #define _ots_SlowControlsVInterface_h_ 00003 #include "otsdaq-core/Configurable/Configurable.h" 00004 00005 #include <array> 00006 #include <string> 00007 namespace ots 00008 { 00009 class SlowControlsVInterface : public Configurable 00010 { 00011 public: 00012 SlowControlsVInterface(const std::string& interfaceUID, 00013 const ConfigurationTree& theXDAQContextConfigTree, 00014 const std::string& configurationPath) 00015 : Configurable(theXDAQContextConfigTree, configurationPath) 00016 , interfaceUID_(interfaceUID) 00017 , interfaceType_(Configurable::getSelfNode() 00018 .getNode("ControlsInterfacePluginType") 00019 .getValue<std::string>()) 00020 , mfSubject_("controls-" + interfaceType_ + "-" + interfaceUID_) 00021 { 00022 // inheriting children classes should use __GEN_COUT_* 00023 // for decorations using mfSubject. 00024 __GEN_COUT__ << __E__; 00025 __GEN_COUTV__(interfaceUID_); 00026 __GEN_COUTV__(mfSubject_); 00027 } 00028 00029 virtual ~SlowControlsVInterface(void) {} 00030 00031 virtual void initialize() = 0; 00032 00033 virtual void subscribe(std::string Name) = 0; 00034 virtual void subscribeJSON(std::string List) = 0; 00035 virtual void unsubscribe(std::string Name) = 0; 00036 virtual std::string getList(std::string format) = 0; 00037 virtual std::array<std::string, 4> getCurrentValue(std::string Name) = 0; 00038 virtual std::array<std::string, 9> getSettings(std::string Name) = 0; 00039 00040 protected: 00041 const std::string interfaceUID_; 00042 const std::string interfaceType_; 00043 const std::string mfSubject_; 00044 }; 00045 00046 } // namespace ots 00047 #endif