9#ifndef FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
10#define FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
12#include "fcf/devmgr/common/events.rad.hpp"
14#include <utils/bat/logger.hpp>
15#include <rad/exceptions.hpp>
16#include <rad/smAdapter.hpp>
22 AppCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(utils::bat::GetAppLogger()) {
23 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
27 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
30 virtual elt::mal::future<std::string>
DevStatus(
const std::vector<std::string>& devices)
override {
31 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
32 Events::DevStatus* ev =
new Events::DevStatus(devices);
33 mSM.PostEvent(rad::UniqueEvent(ev));
34 return ev->GetPayload().GetReplyFuture();
37 virtual elt::mal::future<std::string>
Config()
override {
38 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
39 Events::Config* ev =
new Events::Config();
40 mSM.PostEvent(rad::UniqueEvent(ev));
41 return ev->GetPayload().GetReplyFuture();
44 virtual elt::mal::future<std::string>
GetConfig()
override {
45 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
47 Events::GetConfig* ev =
new Events::GetConfig();
48 mSM.PostEvent(rad::UniqueEvent(ev));
49 return ev->GetPayload().GetReplyFuture();
52 virtual elt::mal::future<std::string>
Simulate(
const std::vector<std::string>& devices)
override {
53 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
54 Events::Simulate* ev =
new Events::Simulate(devices);
55 mSM.PostEvent(rad::UniqueEvent(ev));
56 return ev->GetPayload().GetReplyFuture();
59 virtual elt::mal::future<std::string>
StopSim(
const std::vector<std::string>& devices)
override {
60 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
61 Events::StopSim* ev =
new Events::StopSim(devices);
62 mSM.PostEvent(rad::UniqueEvent(ev));
63 return ev->GetPayload().GetReplyFuture();
66 virtual elt::mal::future<std::string>
Ignore(
const std::vector<std::string>& devices)
override {
67 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
68 Events::Ignore* ev =
new Events::Ignore(devices);
69 mSM.PostEvent(rad::UniqueEvent(ev));
70 return ev->GetPayload().GetReplyFuture();
73 virtual elt::mal::future<std::string>
StopIgn(
const std::vector<std::string>& devices)
override {
74 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
75 Events::StopIgn* ev =
new Events::StopIgn(devices);
76 mSM.PostEvent(rad::UniqueEvent(ev));
77 return ev->GetPayload().GetReplyFuture();
80 virtual elt::mal::future<std::string>
HwInit(
const std::vector<std::string>& devices)
override {
81 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
82 Events::HwInit* ev =
new Events::HwInit(devices);
83 mSM.PostEvent(rad::UniqueEvent(ev));
84 return ev->GetPayload().GetReplyFuture();
87 virtual elt::mal::future<std::string>
HwEnable(
const std::vector<std::string>& devices)
override {
88 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
89 Events::HwEnable* ev =
new Events::HwEnable(devices);
90 mSM.PostEvent(rad::UniqueEvent(ev));
91 return ev->GetPayload().GetReplyFuture();
94 virtual elt::mal::future<std::string>
HwDisable(
const std::vector<std::string>& devices)
override {
95 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
96 Events::HwDisable* ev =
new Events::HwDisable(devices);
97 mSM.PostEvent(rad::UniqueEvent(ev));
98 return ev->GetPayload().GetReplyFuture();
101 virtual elt::mal::future<std::string>
HwReset(
const std::vector<std::string>& devices)
override {
102 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
103 Events::HwReset* ev =
new Events::HwReset(devices);
104 mSM.PostEvent(rad::UniqueEvent(ev));
105 return ev->GetPayload().GetReplyFuture();
108 virtual elt::mal::future<std::string>
Setup(
const std::vector<std::shared_ptr<fcfif::SetupElem>>& buffer)
override {
109 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
110 Events::Setup* ev =
new Events::Setup(buffer);
111 mSM.PostEvent(rad::UniqueEvent(ev));
112 return ev->GetPayload().GetReplyFuture();
115 virtual elt::mal::future<std::string>
Recover()
override {
116 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
117 Events::Recover* ev =
new Events::Recover();
118 mSM.PostEvent(rad::UniqueEvent(ev));
119 return ev->GetPayload().GetReplyFuture();
122 virtual elt::mal::future<std::string>
DevNames()
override {
123 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
124 Events::DevNames* ev =
new Events::DevNames();
125 mSM.PostEvent(rad::UniqueEvent(ev));
126 return ev->GetPayload().GetReplyFuture();
130 virtual elt::mal::future<std::string>
DevInfo()
override {
131 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
132 Events::DevInfo* ev =
new Events::DevInfo();
133 mSM.PostEvent(rad::UniqueEvent(ev));
134 return ev->GetPayload().GetReplyFuture();
137 virtual elt::mal::future<std::string>
DevConfig(
const std::string& devname)
override {
138 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
139 Events::DevConfig* ev =
new Events::DevConfig(devname);
140 mSM.PostEvent(rad::UniqueEvent(ev));
141 return ev->GetPayload().GetReplyFuture();
144 virtual elt::mal::future<std::string>
Open(
const std::string& devname)
override {
145 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
146 Events::Open* ev =
new Events::Open(devname);
147 mSM.PostEvent(rad::UniqueEvent(ev));
148 return ev->GetPayload().GetReplyFuture();
151 virtual elt::mal::future<std::string>
Close(
const std::string& devname)
override {
152 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
153 Events::Close* ev =
new Events::Close(devname);
154 mSM.PostEvent(rad::UniqueEvent(ev));
155 return ev->GetPayload().GetReplyFuture();
158 virtual elt::mal::future<std::string>
SwitchOn(
const std::shared_ptr<fcfif::SwitchOnParams>& params)
override {
159 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
160 Events::SwitchOn* ev =
new Events::SwitchOn(params->clone());
161 mSM.PostEvent(rad::UniqueEvent(ev));
162 return ev->GetPayload().GetReplyFuture();
165 virtual elt::mal::future<std::string>
SwitchOff(
const std::string& devname)
override {
166 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
167 Events::SwitchOff* ev =
new Events::SwitchOff(devname);
168 mSM.PostEvent(rad::UniqueEvent(ev));
169 return ev->GetPayload().GetReplyFuture();
172 virtual elt::mal::future<std::string>
MoveAbs(
const std::shared_ptr<fcfif::MoveAbsParams>& params)
override {
173 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
174 Events::MoveAbs* ev =
new Events::MoveAbs(params->clone());
175 mSM.PostEvent(rad::UniqueEvent(ev));
176 return ev->GetPayload().GetReplyFuture();
179 virtual elt::mal::future<std::string>
MoveByName(
const std::shared_ptr<fcfif::MoveByNameParams>& params)
override {
180 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
181 Events::MoveByName* ev =
new Events::MoveByName(params->clone());
182 mSM.PostEvent(rad::UniqueEvent(ev));
183 return ev->GetPayload().GetReplyFuture();
186 virtual elt::mal::future<std::string>
StartTrack(
const std::shared_ptr<fcfif::StartTrackParams>& params)
override {
187 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
188 Events::StartTrack* ev =
new Events::StartTrack(params->clone());
189 mSM.PostEvent(rad::UniqueEvent(ev));
190 return ev->GetPayload().GetReplyFuture();
193 virtual elt::mal::future<std::string>
StopTrack(
const std::string& devname)
override {
194 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
195 Events::StopTrack* ev =
new Events::StopTrack(devname);
196 mSM.PostEvent(rad::UniqueEvent(ev));
197 return ev->GetPayload().GetReplyFuture();
200 virtual elt::mal::future<std::string>
TrackOffset(
const std::shared_ptr<fcfif::TrackOffsetParams>& params)
override {
201 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
202 Events::TrackOffset* ev =
new Events::TrackOffset(params->clone());
203 mSM.PostEvent(rad::UniqueEvent(ev));
204 return ev->GetPayload().GetReplyFuture();
207 virtual elt::mal::future<std::string>
SetTipTilt(
const std::shared_ptr<fcfif::SetTipTiltParams>& params)
override {
208 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
209 Events::SetTipTilt* ev =
new Events::SetTipTilt(params->clone());
210 mSM.PostEvent(rad::UniqueEvent(ev));
211 return ev->GetPayload().GetReplyFuture();
214 virtual elt::mal::future<std::string>
SetCustom(
const std::shared_ptr<fcfif::SetCustomParams>& params)
override {
215 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
216 Events::SetCustom* ev =
new Events::SetCustom(params->clone());
217 mSM.PostEvent(rad::UniqueEvent(ev));
218 return ev->GetPayload().GetReplyFuture();
223 log4cplus::Logger m_logger;
Definition: appCmdsImpl.hpp:20
AppCmdsImpl(rad::SMAdapter &sm)
Definition: appCmdsImpl.hpp:22
virtual elt::mal::future< std::string > HwInit(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:80
virtual elt::mal::future< std::string > SetTipTilt(const std::shared_ptr< fcfif::SetTipTiltParams > ¶ms) override
Definition: appCmdsImpl.hpp:207
virtual elt::mal::future< std::string > SwitchOff(const std::string &devname) override
Definition: appCmdsImpl.hpp:165
virtual elt::mal::future< std::string > Config() override
Definition: appCmdsImpl.hpp:37
virtual elt::mal::future< std::string > StopTrack(const std::string &devname) override
Definition: appCmdsImpl.hpp:193
virtual elt::mal::future< std::string > MoveAbs(const std::shared_ptr< fcfif::MoveAbsParams > ¶ms) override
Definition: appCmdsImpl.hpp:172
virtual elt::mal::future< std::string > DevNames() override
Definition: appCmdsImpl.hpp:122
virtual elt::mal::future< std::string > Open(const std::string &devname) override
Definition: appCmdsImpl.hpp:144
virtual elt::mal::future< std::string > HwDisable(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:94
virtual elt::mal::future< std::string > Recover() override
Definition: appCmdsImpl.hpp:115
virtual elt::mal::future< std::string > DevStatus(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:30
virtual elt::mal::future< std::string > SwitchOn(const std::shared_ptr< fcfif::SwitchOnParams > ¶ms) override
Definition: appCmdsImpl.hpp:158
virtual elt::mal::future< std::string > HwReset(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:101
virtual elt::mal::future< std::string > HwEnable(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:87
virtual elt::mal::future< std::string > GetConfig() override
Definition: appCmdsImpl.hpp:44
virtual elt::mal::future< std::string > StopIgn(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:73
virtual elt::mal::future< std::string > Close(const std::string &devname) override
Definition: appCmdsImpl.hpp:151
virtual elt::mal::future< std::string > SetCustom(const std::shared_ptr< fcfif::SetCustomParams > ¶ms) override
Definition: appCmdsImpl.hpp:214
virtual elt::mal::future< std::string > StopSim(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:59
virtual ~AppCmdsImpl()
Definition: appCmdsImpl.hpp:26
virtual elt::mal::future< std::string > MoveByName(const std::shared_ptr< fcfif::MoveByNameParams > ¶ms) override
Definition: appCmdsImpl.hpp:179
virtual elt::mal::future< std::string > Simulate(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:52
virtual elt::mal::future< std::string > DevConfig(const std::string &devname) override
Definition: appCmdsImpl.hpp:137
virtual elt::mal::future< std::string > StartTrack(const std::shared_ptr< fcfif::StartTrackParams > ¶ms) override
Definition: appCmdsImpl.hpp:186
virtual elt::mal::future< std::string > DevInfo() override
Definition: appCmdsImpl.hpp:130
virtual elt::mal::future< std::string > Ignore(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:66
virtual elt::mal::future< std::string > Setup(const std::vector< std::shared_ptr< fcfif::SetupElem > > &buffer) override
Definition: appCmdsImpl.hpp:108
virtual elt::mal::future< std::string > TrackOffset(const std::shared_ptr< fcfif::TrackOffsetParams > ¶ms) override
Definition: appCmdsImpl.hpp:200
Definition: actionMgr.cpp:29