otsdaq  v2_01_00
ControlsVInterface.h
1 #ifndef _ots_ControlsVInterface_h_
2 #define _ots_ControlsVInterface_h_
3 #include "otsdaq-core/Configurable/Configurable.h"
4 
5 
6 #include <string>
7 #include <array>
8 namespace ots
9 {
10 
12  {
13 
14  public:
15  ControlsVInterface(const std::string& interfaceUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath)
16  : Configurable (theXDAQContextConfigTree, configurationPath)
17  //, interfaceUID_ (interfaceUID)
18  // , interfaceType_ ("MADEUP_FIXME")//theXDAQContextConfigTree_.getBackNode(theConfigurationPath_).getNode("ControlsInterfacePluginName").getValue<std::string>())
19  {
20  std::cout << __PRETTY_FUNCTION__ << std::endl;
21 
22  }
23 
24  virtual ~ControlsVInterface (void){}
25 
26 
27  virtual void initialize ( ) = 0;
28 
29 
30  virtual void subscribe (std::string Name ) = 0;
31  virtual void subscribeJSON (std::string List ) = 0;
32  virtual void unsubscribe (std::string Name ) = 0;
33  virtual std::string getList (std::string format ) = 0;
34  virtual std::array<std::string, 4> getCurrentValue (std::string Name) = 0;
35  virtual std::array<std::string, 9> getSettings (std::string Name) = 0;
36 
37 protected:
38  std::string interfaceUID_;
39  std::string interfaceType_;
40 
41  };
42 
43 }
44 #endif