00001 #ifndef _ots_ControlsVInterface_h_
00002 #define _ots_ControlsVInterface_h_
00003 #include "otsdaq-core/Configurable/Configurable.h"
00004
00005
00006 #include <string>
00007 #include <array>
00008 namespace ots
00009 {
00010
00011 class ControlsVInterface : public Configurable
00012 {
00013
00014 public:
00015 ControlsVInterface(const std::string& interfaceUID, const ConfigurationTree& theXDAQContextConfigTree, const std::string& configurationPath)
00016 : Configurable (theXDAQContextConfigTree, configurationPath)
00017
00018
00019 {
00020 std::cout << __PRETTY_FUNCTION__ << std::endl;
00021
00022 }
00023
00024 virtual ~ControlsVInterface (void){}
00025
00026
00027 virtual void initialize ( ) = 0;
00028
00029
00030 virtual void subscribe (std::string Name ) = 0;
00031 virtual void subscribeJSON (std::string List ) = 0;
00032 virtual void unsubscribe (std::string Name ) = 0;
00033 virtual std::string getList (std::string format ) = 0;
00034 virtual std::array<std::string, 4> getCurrentValue (std::string Name) = 0;
00035 virtual std::array<std::string, 9> getSettings (std::string Name) = 0;
00036
00037 protected:
00038 std::string interfaceUID_;
00039 std::string interfaceType_;
00040
00041 };
00042
00043 }
00044 #endif