ifw-fcf  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stdCmdsImpl.hpp
Go to the documentation of this file.
1 
9 #ifndef FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
10 #define FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
11 
12 #include "fcf/devmgr/common/events.rad.hpp"
13 
14 #include <rad/logger.hpp>
15 #include <rad/exceptions.hpp>
16 #include <rad/smAdapter.hpp>
17 
18 namespace fcf::devmgr::common {
19 
20 class StdCmdsImpl : public fcfif::AsyncStdCmds {
21 public:
22  StdCmdsImpl(rad::SMAdapter& sm) : mSM(sm) {
23  RAD_LOG_TRACE();
24  }
25 
26  virtual ~StdCmdsImpl() {
27  RAD_LOG_TRACE();
28  }
29 
30  virtual elt::mal::future<std::string> Exit() override {
31  RAD_LOG_TRACE();
32  Events::Exit* ev = new Events::Exit();
33  mSM.PostEvent(rad::UniqueEvent(ev));
34  return ev->GetPayload().GetReplyFuture();
35  }
36 
37  virtual elt::mal::future<std::string> Init() override {
38  RAD_LOG_TRACE();
39  Events::Init* ev = new Events::Init();
40  mSM.PostEvent(rad::UniqueEvent(ev));
41  return ev->GetPayload().GetReplyFuture();
42  }
43 
44  virtual elt::mal::future<std::string> Stop() override {
45  RAD_LOG_TRACE();
46  Events::Stop* ev = new Events::Stop();
47  mSM.PostEvent(rad::UniqueEvent(ev));
48  return ev->GetPayload().GetReplyFuture();
49  }
50 
51  virtual elt::mal::future<std::string> Reset() override {
52  RAD_LOG_TRACE();
53  Events::Reset* ev = new Events::Reset();
54  mSM.PostEvent(rad::UniqueEvent(ev));
55  return ev->GetPayload().GetReplyFuture();
56  }
57 
58  virtual elt::mal::future<std::string> State() override {
59  RAD_LOG_TRACE();
60  Events::State* ev = new Events::State();
61  mSM.PostEvent(rad::UniqueEvent(ev));
62  return ev->GetPayload().GetReplyFuture();
63  }
64 
65  virtual elt::mal::future<std::string> Status(const std::vector<std::string>& devices) override {
66  RAD_LOG_TRACE();
67  Events::Status* ev = new Events::Status(devices);
68  mSM.PostEvent(rad::UniqueEvent(ev));
69  return ev->GetPayload().GetReplyFuture();
70  }
71 
72  virtual elt::mal::future<std::string> Enable() override {
73  RAD_LOG_TRACE();
74  Events::Enable* ev = new Events::Enable();
75  mSM.PostEvent(rad::UniqueEvent(ev));
76  return ev->GetPayload().GetReplyFuture();
77  }
78 
79  virtual elt::mal::future<std::string> Disable() override {
80  RAD_LOG_TRACE();
81  Events::Disable* ev = new Events::Disable();
82  mSM.PostEvent(rad::UniqueEvent(ev));
83  return ev->GetPayload().GetReplyFuture();
84  }
85 
86  virtual elt::mal::future<std::string> Config() override {
87  RAD_LOG_TRACE();
88  Events::Config* ev = new Events::Config();
89  mSM.PostEvent(rad::UniqueEvent(ev));
90  return ev->GetPayload().GetReplyFuture();
91  }
92 
93  virtual elt::mal::future<std::string> SetLog(const std::string& level) override {
94  RAD_LOG_TRACE();
95  Events::SetLog* ev = new Events::SetLog(level);
96  mSM.PostEvent(rad::UniqueEvent(ev));
97  return ev->GetPayload().GetReplyFuture();
98  }
99 
100  virtual elt::mal::future<std::string> Simulate(const std::vector<std::string>& devices) override {
101  RAD_LOG_TRACE();
102  Events::Simulate* ev = new Events::Simulate(devices);
103  mSM.PostEvent(rad::UniqueEvent(ev));
104  return ev->GetPayload().GetReplyFuture();
105  }
106 
107  virtual elt::mal::future<std::string> StopSim(const std::vector<std::string>& devices) override {
108  RAD_LOG_TRACE();
109  Events::StopSim* ev = new Events::StopSim(devices);
110  mSM.PostEvent(rad::UniqueEvent(ev));
111  return ev->GetPayload().GetReplyFuture();
112  }
113 
114  virtual elt::mal::future<std::string> Ignore(const std::vector<std::string>& devices) override {
115  RAD_LOG_TRACE();
116  Events::Ignore* ev = new Events::Ignore(devices);
117  mSM.PostEvent(rad::UniqueEvent(ev));
118  return ev->GetPayload().GetReplyFuture();
119  }
120 
121  virtual elt::mal::future<std::string> StopIgn(const std::vector<std::string>& devices) override {
122  RAD_LOG_TRACE();
123  Events::StopIgn* ev = new Events::StopIgn(devices);
124  mSM.PostEvent(rad::UniqueEvent(ev));
125  return ev->GetPayload().GetReplyFuture();
126  }
127 
128  virtual elt::mal::future<std::string> HwInit(const std::vector<std::string>& devices) override {
129  RAD_LOG_TRACE();
130  Events::HwInit* ev = new Events::HwInit(devices);
131  mSM.PostEvent(rad::UniqueEvent(ev));
132  return ev->GetPayload().GetReplyFuture();
133  }
134 
135  virtual elt::mal::future<std::string> HwEnable(const std::vector<std::string>& devices) override {
136  RAD_LOG_TRACE();
137  Events::HwEnable* ev = new Events::HwEnable(devices);
138  mSM.PostEvent(rad::UniqueEvent(ev));
139  return ev->GetPayload().GetReplyFuture();
140  }
141 
142  virtual elt::mal::future<std::string> HwDisable(const std::vector<std::string>& devices) override {
143  RAD_LOG_TRACE();
144  Events::HwDisable* ev = new Events::HwDisable(devices);
145  mSM.PostEvent(rad::UniqueEvent(ev));
146  return ev->GetPayload().GetReplyFuture();
147  }
148 
149  virtual elt::mal::future<std::string> HwReset(const std::vector<std::string>& devices) override {
150  RAD_LOG_TRACE();
151  Events::HwReset* ev = new Events::HwReset(devices);
152  mSM.PostEvent(rad::UniqueEvent(ev));
153  return ev->GetPayload().GetReplyFuture();
154  }
155 
156  virtual elt::mal::future<std::string> Setup(const std::vector<std::shared_ptr<fcfif::FcsUnion>>& buffer) override {
157  RAD_LOG_TRACE();
158  Events::Setup* ev = new Events::Setup(buffer);
159  mSM.PostEvent(rad::UniqueEvent(ev));
160  return ev->GetPayload().GetReplyFuture();
161  }
162 
163  virtual elt::mal::future<std::string> Recover() override {
164  RAD_LOG_TRACE();
165  Events::Recover* ev = new Events::Recover();
166  mSM.PostEvent(rad::UniqueEvent(ev));
167  return ev->GetPayload().GetReplyFuture();
168  }
169 
170  virtual elt::mal::future<std::string> DevNames() override {
171  RAD_LOG_TRACE();
172  Events::DevNames* ev = new Events::DevNames();
173  mSM.PostEvent(rad::UniqueEvent(ev));
174  return ev->GetPayload().GetReplyFuture();
175  }
176 
177  virtual elt::mal::future<std::string> BeginAcq(const std::string& prefix) override {
178  RAD_LOG_TRACE();
179  Events::BeginAcq* ev = new Events::BeginAcq(prefix);
180  mSM.PostEvent(rad::UniqueEvent(ev));
181  return ev->GetPayload().GetReplyFuture();
182  }
183 
184  virtual elt::mal::future<std::string> EndAcq() override {
185  RAD_LOG_TRACE();
186  Events::EndAcq* ev = new Events::EndAcq();
187  mSM.PostEvent(rad::UniqueEvent(ev));
188  return ev->GetPayload().GetReplyFuture();
189  }
190 
191 private:
192  rad::SMAdapter& mSM;
193 };
194 
195 } // namespace server
196 
197 #endif // FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
virtual elt::mal::future< std::string > Simulate(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:100
virtual elt::mal::future< std::string > HwReset(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:149
virtual elt::mal::future< std::string > StopIgn(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:121
virtual elt::mal::future< std::string > Stop() override
Definition: stdCmdsImpl.hpp:44
StdCmdsImpl(rad::SMAdapter &sm)
Definition: stdCmdsImpl.hpp:22
virtual ~StdCmdsImpl()
Definition: stdCmdsImpl.hpp:26
virtual elt::mal::future< std::string > Status(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:65
virtual elt::mal::future< std::string > State() override
Definition: stdCmdsImpl.hpp:58
virtual elt::mal::future< std::string > Disable() override
Definition: stdCmdsImpl.hpp:79
virtual elt::mal::future< std::string > Enable() override
Definition: stdCmdsImpl.hpp:72
virtual elt::mal::future< std::string > Setup(const std::vector< std::shared_ptr< fcfif::FcsUnion >> &buffer) override
Definition: stdCmdsImpl.hpp:156
virtual elt::mal::future< std::string > Config() override
Definition: stdCmdsImpl.hpp:86
virtual elt::mal::future< std::string > DevNames() override
Definition: stdCmdsImpl.hpp:170
virtual elt::mal::future< std::string > HwInit(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:128
virtual elt::mal::future< std::string > HwEnable(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:135
virtual elt::mal::future< std::string > Ignore(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:114
virtual elt::mal::future< std::string > Exit() override
Definition: stdCmdsImpl.hpp:30
virtual elt::mal::future< std::string > SetLog(const std::string &level) override
Definition: stdCmdsImpl.hpp:93
virtual elt::mal::future< std::string > HwDisable(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:142
virtual elt::mal::future< std::string > Reset() override
Definition: stdCmdsImpl.hpp:51
virtual elt::mal::future< std::string > StopSim(const std::vector< std::string > &devices) override
Definition: stdCmdsImpl.hpp:107
Definition: stdCmdsImpl.hpp:20
virtual elt::mal::future< std::string > Init() override
Definition: stdCmdsImpl.hpp:37
virtual elt::mal::future< std::string > EndAcq() override
Definition: stdCmdsImpl.hpp:184
virtual elt::mal::future< std::string > Recover() override
Definition: stdCmdsImpl.hpp:163
virtual elt::mal::future< std::string > BeginAcq(const std::string &prefix) override
Definition: stdCmdsImpl.hpp:177