otsdaq_components  v2_05_02_indev
OtsSlowControlsInterface.h
1 #ifndef _ots_OtsSlowControlsInterface_h
2 #define _ots_OtsSlowControlsInterface_h
3 
4 #include <array>
5 #include <string>
6 
7 #include "otsdaq/NetworkUtilities/ReceiverSocket.h" // Make sure this is always first because <sys/types.h> (defined in Socket.h) must be first
8 #include "otsdaq/SlowControlsCore/SlowControlsVInterface.h"
9 using namespace ots;
10 //{
11 
12 class OtsSlowControlsInterface : public SlowControlsVInterface
13 {
14  public:
15  OtsSlowControlsInterface(const std::string& pluginType,
16  const std::string& interfaceUID,
17  const ConfigurationTree& theXDAQContextConfigTree,
18  const std::string& controlsConfigurationPath);
20 
21  void initialize();
22  void destroy();
23 
24  std::vector<std::string /*Name*/> getChannelList();
25  std::string getList(const std::string& format);
26  void subscribe(const std::string& Name);
27  void subscribeJSON(const std::string& JSONNameString);
28  void unsubscribe(const std::string& Name);
29  std::array<std::string, 4> getCurrentValue(const std::string& Name);
30  std::vector<std::vector<std::string>> getChannelHistory(const std::string& Name);
31  std::vector<std::vector<std::string>> getLastAlarms(const std::string& Name);
32  std::vector<std::vector<std::string>> getAlarmsLog(const std::string& Name);
33  std::vector<std::vector<std::string>> checkAlarmNotifications(void);
34  std::array<std::string, 9> getSettings(const std::string& Name);
35 };
36 
37 //}
38 
39 #endif