8#ifndef FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
9#define FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
11#include "ifw/fcf/devmgr/common/events.rad.hpp"
13#include <ifw/core/utils/bat/logger.hpp>
14#include <rad/exceptions.hpp>
15#include <rad/smAdapter.hpp>
21 AppCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(
ifw::core::utils::bat::GetAppLogger()) {
22 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
26 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
29 virtual elt::mal::future<std::string>
DevStatus(
const std::vector<std::string>& devices)
override {
30 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
31 Events::DevStatus* ev =
new Events::DevStatus(devices);
32 mSM.PostEvent(rad::UniqueEvent(ev));
33 return ev->GetPayload().GetReplyFuture();
36 virtual elt::mal::future<std::string>
Config()
override {
37 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
38 Events::Config* ev =
new Events::Config();
39 mSM.PostEvent(rad::UniqueEvent(ev));
40 return ev->GetPayload().GetReplyFuture();
43 virtual elt::mal::future<std::string>
GetConfig()
override {
44 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
46 Events::GetConfig* ev =
new Events::GetConfig();
47 mSM.PostEvent(rad::UniqueEvent(ev));
48 return ev->GetPayload().GetReplyFuture();
51 virtual elt::mal::future<std::string>
Simulate(
const std::vector<std::string>& devices)
override {
52 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
53 Events::Simulate* ev =
new Events::Simulate(devices);
54 mSM.PostEvent(rad::UniqueEvent(ev));
55 return ev->GetPayload().GetReplyFuture();
58 virtual elt::mal::future<std::string>
StopSim(
const std::vector<std::string>& devices)
override {
59 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
60 Events::StopSim* ev =
new Events::StopSim(devices);
61 mSM.PostEvent(rad::UniqueEvent(ev));
62 return ev->GetPayload().GetReplyFuture();
65 virtual elt::mal::future<std::string>
Ignore(
const std::vector<std::string>& devices)
override {
66 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
67 Events::Ignore* ev =
new Events::Ignore(devices);
68 mSM.PostEvent(rad::UniqueEvent(ev));
69 return ev->GetPayload().GetReplyFuture();
72 virtual elt::mal::future<std::string>
StopIgn(
const std::vector<std::string>& devices)
override {
73 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
74 Events::StopIgn* ev =
new Events::StopIgn(devices);
75 mSM.PostEvent(rad::UniqueEvent(ev));
76 return ev->GetPayload().GetReplyFuture();
79 virtual elt::mal::future<std::string>
HwInit(
const std::vector<std::string>& devices)
override {
80 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
81 Events::HwInit* ev =
new Events::HwInit(devices);
82 mSM.PostEvent(rad::UniqueEvent(ev));
83 return ev->GetPayload().GetReplyFuture();
86 virtual elt::mal::future<std::string>
HwEnable(
const std::vector<std::string>& devices)
override {
87 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
88 Events::HwEnable* ev =
new Events::HwEnable(devices);
89 mSM.PostEvent(rad::UniqueEvent(ev));
90 return ev->GetPayload().GetReplyFuture();
93 virtual elt::mal::future<std::string>
HwDisable(
const std::vector<std::string>& devices)
override {
94 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
95 Events::HwDisable* ev =
new Events::HwDisable(devices);
96 mSM.PostEvent(rad::UniqueEvent(ev));
97 return ev->GetPayload().GetReplyFuture();
100 virtual elt::mal::future<std::string>
HwReset(
const std::vector<std::string>& devices)
override {
101 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
102 Events::HwReset* ev =
new Events::HwReset(devices);
103 mSM.PostEvent(rad::UniqueEvent(ev));
104 return ev->GetPayload().GetReplyFuture();
107 virtual elt::mal::future<std::string>
Setup(
const std::vector<std::shared_ptr<fcfif::SetupElem>>& buffer)
override {
108 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
109 Events::Setup* ev =
new Events::Setup(buffer);
110 mSM.PostEvent(rad::UniqueEvent(ev));
111 return ev->GetPayload().GetReplyFuture();
114 virtual elt::mal::future<std::string>
Recover()
override {
115 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
116 Events::Recover* ev =
new Events::Recover();
117 mSM.PostEvent(rad::UniqueEvent(ev));
118 return ev->GetPayload().GetReplyFuture();
121 virtual elt::mal::future<std::string>
DevNames()
override {
122 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
123 Events::DevNames* ev =
new Events::DevNames();
124 mSM.PostEvent(rad::UniqueEvent(ev));
125 return ev->GetPayload().GetReplyFuture();
129 virtual elt::mal::future<std::string>
DevInfo()
override {
130 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
131 Events::DevInfo* ev =
new Events::DevInfo();
132 mSM.PostEvent(rad::UniqueEvent(ev));
133 return ev->GetPayload().GetReplyFuture();
136 virtual elt::mal::future<std::string>
DevConfig(
const std::string& devname)
override {
137 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
138 Events::DevConfig* ev =
new Events::DevConfig(devname);
139 mSM.PostEvent(rad::UniqueEvent(ev));
140 return ev->GetPayload().GetReplyFuture();
143 virtual elt::mal::future<std::string>
Open(
const std::string& devname)
override {
144 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
145 Events::Open* ev =
new Events::Open(devname);
146 mSM.PostEvent(rad::UniqueEvent(ev));
147 return ev->GetPayload().GetReplyFuture();
150 virtual elt::mal::future<std::string>
Close(
const std::string& devname)
override {
151 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
152 Events::Close* ev =
new Events::Close(devname);
153 mSM.PostEvent(rad::UniqueEvent(ev));
154 return ev->GetPayload().GetReplyFuture();
157 virtual elt::mal::future<std::string>
OpenAt(
const std::shared_ptr<fcfif::OpenAtParams>& params)
override {
158 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
159 Events::OpenAt* ev =
new Events::OpenAt(params->clone());
160 mSM.PostEvent(rad::UniqueEvent(ev));
161 return ev->GetPayload().GetReplyFuture();
164 virtual elt::mal::future<std::string>
SwitchOn(
const std::shared_ptr<fcfif::SwitchOnParams>& params)
override {
165 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
166 Events::SwitchOn* ev =
new Events::SwitchOn(params->clone());
167 mSM.PostEvent(rad::UniqueEvent(ev));
168 return ev->GetPayload().GetReplyFuture();
171 virtual elt::mal::future<std::string>
SwitchOff(
const std::string& devname)
override {
172 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
173 Events::SwitchOff* ev =
new Events::SwitchOff(devname);
174 mSM.PostEvent(rad::UniqueEvent(ev));
175 return ev->GetPayload().GetReplyFuture();
178 virtual elt::mal::future<std::string>
MoveAbs(
const std::shared_ptr<fcfif::MoveAbsParams>& params)
override {
179 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
180 Events::MoveAbs* ev =
new Events::MoveAbs(params->clone());
181 mSM.PostEvent(rad::UniqueEvent(ev));
182 return ev->GetPayload().GetReplyFuture();
185 virtual elt::mal::future<std::string>
MoveAxes(
const std::shared_ptr<fcfif::MoveAxesParams>& params)
override {
186 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
187 Events::MoveAxes* ev =
new Events::MoveAxes(params->clone());
188 mSM.PostEvent(rad::UniqueEvent(ev));
189 return ev->GetPayload().GetReplyFuture();
192 virtual elt::mal::future<std::string>
MoveByName(
const std::shared_ptr<fcfif::MoveByNameParams>& params)
override {
193 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
194 Events::MoveByName* ev =
new Events::MoveByName(params->clone());
195 mSM.PostEvent(rad::UniqueEvent(ev));
196 return ev->GetPayload().GetReplyFuture();
199 virtual elt::mal::future<std::string>
MoveByPosUser(
const std::shared_ptr<fcfif::MoveAbsParams>& params)
override {
200 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
201 Events::MoveByPosUser* ev =
new Events::MoveByPosUser(params->clone());
202 mSM.PostEvent(rad::UniqueEvent(ev));
203 return ev->GetPayload().GetReplyFuture();
206 virtual elt::mal::future<std::string>
StartTrack(
const std::shared_ptr<fcfif::StartTrackParams>& params)
override {
207 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
208 Events::StartTrack* ev =
new Events::StartTrack(params->clone());
209 mSM.PostEvent(rad::UniqueEvent(ev));
210 return ev->GetPayload().GetReplyFuture();
213 virtual elt::mal::future<std::string>
StopTrack(
const std::string& devname)
override {
214 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
215 Events::StopTrack* ev =
new Events::StopTrack(devname);
216 mSM.PostEvent(rad::UniqueEvent(ev));
217 return ev->GetPayload().GetReplyFuture();
220 virtual elt::mal::future<std::string>
TrackOffset(
const std::shared_ptr<fcfif::TrackOffsetParams>& params)
override {
221 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
222 Events::TrackOffset* ev =
new Events::TrackOffset(params->clone());
223 mSM.PostEvent(rad::UniqueEvent(ev));
224 return ev->GetPayload().GetReplyFuture();
227 virtual elt::mal::future<std::string>
SetTipTilt(
const std::shared_ptr<fcfif::SetTipTiltParams>& params)
override {
228 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
229 Events::SetTipTilt* ev =
new Events::SetTipTilt(params->clone());
230 mSM.PostEvent(rad::UniqueEvent(ev));
231 return ev->GetPayload().GetReplyFuture();
234 virtual elt::mal::future<std::string>
StartCtrl(
const std::string& devname)
override {
235 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
236 Events::StartCtrl* ev =
new Events::StartCtrl(devname);
237 mSM.PostEvent(rad::UniqueEvent(ev));
238 return ev->GetPayload().GetReplyFuture();
241 virtual elt::mal::future<std::string>
StopCtrl(
const std::string& devname)
override {
242 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
243 Events::StopCtrl* ev =
new Events::StopCtrl(devname);
244 mSM.PostEvent(rad::UniqueEvent(ev));
245 return ev->GetPayload().GetReplyFuture();
248 virtual elt::mal::future<std::string>
SetTrajectory(
const std::shared_ptr<fcfif::SetTrajectoryParams>& params)
override {
249 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
250 Events::SetTrajectory* ev =
new Events::SetTrajectory(params->clone());
251 mSM.PostEvent(rad::UniqueEvent(ev));
252 return ev->GetPayload().GetReplyFuture();
255 virtual elt::mal::future<std::string>
SetCustom(
const std::shared_ptr<fcfif::SetCustomParams>& params)
override {
256 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
257 Events::SetCustom* ev =
new Events::SetCustom(params->clone());
258 mSM.PostEvent(rad::UniqueEvent(ev));
259 return ev->GetPayload().GetReplyFuture();
264 log4cplus::Logger m_logger;
virtual elt::mal::future< std::string > Simulate(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:51
virtual elt::mal::future< std::string > DevNames() override
Definition appCmdsImpl.hpp:121
virtual elt::mal::future< std::string > HwInit(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:79
virtual elt::mal::future< std::string > Recover() override
Definition appCmdsImpl.hpp:114
virtual elt::mal::future< std::string > SwitchOff(const std::string &devname) override
Definition appCmdsImpl.hpp:171
virtual elt::mal::future< std::string > HwReset(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:100
virtual elt::mal::future< std::string > GetConfig() override
Definition appCmdsImpl.hpp:43
virtual elt::mal::future< std::string > MoveAbs(const std::shared_ptr< fcfif::MoveAbsParams > ¶ms) override
Definition appCmdsImpl.hpp:178
virtual elt::mal::future< std::string > StartCtrl(const std::string &devname) override
Definition appCmdsImpl.hpp:234
virtual elt::mal::future< std::string > OpenAt(const std::shared_ptr< fcfif::OpenAtParams > ¶ms) override
Definition appCmdsImpl.hpp:157
virtual elt::mal::future< std::string > SwitchOn(const std::shared_ptr< fcfif::SwitchOnParams > ¶ms) override
Definition appCmdsImpl.hpp:164
virtual elt::mal::future< std::string > StopTrack(const std::string &devname) override
Definition appCmdsImpl.hpp:213
virtual elt::mal::future< std::string > MoveByPosUser(const std::shared_ptr< fcfif::MoveAbsParams > ¶ms) override
Definition appCmdsImpl.hpp:199
virtual elt::mal::future< std::string > StopIgn(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:72
virtual elt::mal::future< std::string > SetCustom(const std::shared_ptr< fcfif::SetCustomParams > ¶ms) override
Definition appCmdsImpl.hpp:255
virtual elt::mal::future< std::string > TrackOffset(const std::shared_ptr< fcfif::TrackOffsetParams > ¶ms) override
Definition appCmdsImpl.hpp:220
virtual elt::mal::future< std::string > SetTipTilt(const std::shared_ptr< fcfif::SetTipTiltParams > ¶ms) override
Definition appCmdsImpl.hpp:227
virtual elt::mal::future< std::string > DevConfig(const std::string &devname) override
Definition appCmdsImpl.hpp:136
virtual elt::mal::future< std::string > Ignore(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:65
virtual elt::mal::future< std::string > SetTrajectory(const std::shared_ptr< fcfif::SetTrajectoryParams > ¶ms) override
Definition appCmdsImpl.hpp:248
virtual elt::mal::future< std::string > DevInfo() override
Definition appCmdsImpl.hpp:129
virtual elt::mal::future< std::string > StopSim(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:58
virtual elt::mal::future< std::string > MoveAxes(const std::shared_ptr< fcfif::MoveAxesParams > ¶ms) override
Definition appCmdsImpl.hpp:185
virtual elt::mal::future< std::string > HwEnable(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:86
virtual elt::mal::future< std::string > Open(const std::string &devname) override
Definition appCmdsImpl.hpp:143
virtual elt::mal::future< std::string > Setup(const std::vector< std::shared_ptr< fcfif::SetupElem > > &buffer) override
Definition appCmdsImpl.hpp:107
AppCmdsImpl(rad::SMAdapter &sm)
Definition appCmdsImpl.hpp:21
virtual elt::mal::future< std::string > Config() override
Definition appCmdsImpl.hpp:36
virtual elt::mal::future< std::string > MoveByName(const std::shared_ptr< fcfif::MoveByNameParams > ¶ms) override
Definition appCmdsImpl.hpp:192
virtual elt::mal::future< std::string > HwDisable(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:93
virtual elt::mal::future< std::string > StartTrack(const std::shared_ptr< fcfif::StartTrackParams > ¶ms) override
Definition appCmdsImpl.hpp:206
virtual ~AppCmdsImpl()
Definition appCmdsImpl.hpp:25
virtual elt::mal::future< std::string > Close(const std::string &devname) override
Definition appCmdsImpl.hpp:150
virtual elt::mal::future< std::string > StopCtrl(const std::string &devname) override
Definition appCmdsImpl.hpp:241
virtual elt::mal::future< std::string > DevStatus(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:29
ActionMgr class source file.
Definition actionMgr.cpp:28
Definition actionMgr.cpp:28