otsdaq_demo  v2_05_02_indev
SlowControlsInterfaceTemplate_slowcontrols.cc
1 #include "otsdaq-demo/SlowControlsInterfacePlugins/SlowControlsInterfaceTemplate.h"
2 #include "otsdaq/Macros/SlowControlsPluginMacros.h"
3 
4 using namespace ots;
5 
6 //==============================================================================
7 SlowControlsInterfaceTemplate::SlowControlsInterfaceTemplate(
8  const std::string& pluginType,
9  const std::string& interfaceUID,
10  const ConfigurationTree& theXDAQContextConfigTree,
11  const std::string& controlsConfigurationPath)
12  // :Socket (
13  // theXDAQContextConfigTree.getNode(interfaceConfigurationPath).getNode("HostIPAddress").getValue<std::string>()
14  // ,theXDAQContextConfigTree.getNode(interfaceConfigurationPath).getNode("HostPort").getValue<unsigned
15  // int>())
16  // ,
17  : SlowControlsVInterface(
18  pluginType, interfaceUID, theXDAQContextConfigTree, controlsConfigurationPath)
19 {
20 }
21 
22 //==============================================================================
23 SlowControlsInterfaceTemplate::~SlowControlsInterfaceTemplate() { destroy(); }
24 
25 //==============================================================================
26 void SlowControlsInterfaceTemplate::initialize() {}
27 
28 //==============================================================================
29 void SlowControlsInterfaceTemplate::destroy() {}
30 
31 //==============================================================================
32 std::vector<std::string /*Name*/> SlowControlsInterfaceTemplate::getChannelList()
33 {
34  return {"a", "b"};
35 }
36 
37 //==============================================================================
38 std::string SlowControlsInterfaceTemplate::getList(const std::string& /*format*/)
39 {
40  //__COUT__ << theXDAQContextConfigTree.getNode(controlsConfigurationPath).getValue <<
41  // std::endl;
42  return (std::string) "list";
43 }
44 
45 //==============================================================================
46 void SlowControlsInterfaceTemplate::subscribe(const std::string& /*Name*/) {}
47 
48 //==============================================================================
49 void SlowControlsInterfaceTemplate::subscribeJSON(const std::string& /*List*/) {}
50 
51 //==============================================================================
52 void SlowControlsInterfaceTemplate::unsubscribe(const std::string& /*Name*/) {}
53 
54 //==============================================================================
55 std::array<std::string, 4> SlowControlsInterfaceTemplate::getCurrentValue(
56  const std::string& /*Name*/)
57 {
58  return {"a", "b", "c", "d"};
59 }
60 
61 //==============================================================================
62 std::array<std::string, 9> SlowControlsInterfaceTemplate::getSettings(const std::string& /*Name*/)
63 {
64  return {"a", "b", "c", "d", "e", "f", "g", "h", "i"};
65 }
66 
67 //==============================================================================
68 std::vector<std::vector<std::string>> SlowControlsInterfaceTemplate::getLastAlarms(const std::string& /*pvName*/)
69 {
70  return {std::vector<std::string>({"a", "b", "c", "d", "e"}),
71  std::vector<std::string>({"b", "b", "c", "d", "e"})};
72 } //end getLastAlarms()
73 
74 //==============================================================================
75 std::vector<std::vector<std::string>> SlowControlsInterfaceTemplate::getAlarmsLog(const std::string& /*pvName*/)
76 {
77  return {std::vector<std::string>({"a", "b", "c", "d", "e"}),
78  std::vector<std::string>({"b", "b", "c", "d", "e"})};
79 } //end getAlarmsLog()
80 
81 //==============================================================================
82 std::vector<std::vector<std::string>> SlowControlsInterfaceTemplate::checkAlarmNotifications()
83 {
84  return {std::vector<std::string>({"a", "b", "c", "d", "e"}),
85  std::vector<std::string>({"b", "b", "c", "d", "e"})};
86 } //end checkAlarmNotifications()
87 
88 //==============================================================================
89 std::vector<std::vector<std::string>> SlowControlsInterfaceTemplate::getChannelHistory(
90  const std::string& /*Name*/)
91 {
92  return {std::vector<std::string>({"a", "b", "c", "d", "e"}),
93  std::vector<std::string>({"b", "b", "c", "d", "e"}),
94  std::vector<std::string>({"c", "b", "c", "d", "e"}),
95  std::vector<std::string>({"d", "b", "c", "d", "e"}),
96  std::vector<std::string>({"e", "b", "c", "d", "e"}),
97  std::vector<std::string>({"f", "b", "c", "d", "e"}),
98  std::vector<std::string>({"g", "b", "c", "d", "e"}),
99  std::vector<std::string>({"h", "b", "c", "d", "e"}),
100  std::vector<std::string>({"i", "b", "c", "d", "e"}),
101  std::vector<std::string>({"j", "b", "c", "d", "e"})};
102 }
103 
104 //==============================================================================
105 bool SlowControlsInterfaceTemplate::running(void)
106 {
107  if(1 /*error??*/)
108  {
109  __SS__ << "Had an error!" << __E__;
110  __SS_THROW__;
111  }
112  else
113  return true;
114 }
115 
116 DEFINE_OTS_SLOW_CONTROLS(SlowControlsInterfaceTemplate)