7#ifndef FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
8#define FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
10#include "ifw/fcf/devmgr/common/events.rad.hpp"
12#include <ifw/core/utils/bat/logger.hpp>
13#include <rad/exceptions.hpp>
14#include <rad/smAdapter.hpp>
20 AppCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(
ifw::core::utils::bat::GetAppLogger()) {
21 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
25 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
28 virtual elt::mal::future<std::string>
DevStatus(
const std::vector<std::string>& devices)
override {
29 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
30 Events::DevStatus* ev =
new Events::DevStatus(devices);
31 mSM.PostEvent(rad::UniqueEvent(ev));
32 return ev->GetPayload().GetReplyFuture();
35 virtual elt::mal::future<std::string>
Config()
override {
36 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
37 Events::Config* ev =
new Events::Config();
38 mSM.PostEvent(rad::UniqueEvent(ev));
39 return ev->GetPayload().GetReplyFuture();
42 virtual elt::mal::future<std::string>
GetConfig()
override {
43 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
45 Events::GetConfig* ev =
new Events::GetConfig();
46 mSM.PostEvent(rad::UniqueEvent(ev));
47 return ev->GetPayload().GetReplyFuture();
50 virtual elt::mal::future<std::string>
Simulate(
const std::vector<std::string>& devices)
override {
51 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
52 Events::Simulate* ev =
new Events::Simulate(devices);
53 mSM.PostEvent(rad::UniqueEvent(ev));
54 return ev->GetPayload().GetReplyFuture();
57 virtual elt::mal::future<std::string>
StopSim(
const std::vector<std::string>& devices)
override {
58 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
59 Events::StopSim* ev =
new Events::StopSim(devices);
60 mSM.PostEvent(rad::UniqueEvent(ev));
61 return ev->GetPayload().GetReplyFuture();
64 virtual elt::mal::future<std::string>
Ignore(
const std::vector<std::string>& devices)
override {
65 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
66 Events::Ignore* ev =
new Events::Ignore(devices);
67 mSM.PostEvent(rad::UniqueEvent(ev));
68 return ev->GetPayload().GetReplyFuture();
71 virtual elt::mal::future<std::string>
StopIgn(
const std::vector<std::string>& devices)
override {
72 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
73 Events::StopIgn* ev =
new Events::StopIgn(devices);
74 mSM.PostEvent(rad::UniqueEvent(ev));
75 return ev->GetPayload().GetReplyFuture();
78 virtual elt::mal::future<std::string>
HwInit(
const std::vector<std::string>& devices)
override {
79 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
80 Events::HwInit* ev =
new Events::HwInit(devices);
81 mSM.PostEvent(rad::UniqueEvent(ev));
82 return ev->GetPayload().GetReplyFuture();
85 virtual elt::mal::future<std::string>
HwEnable(
const std::vector<std::string>& devices)
override {
86 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
87 Events::HwEnable* ev =
new Events::HwEnable(devices);
88 mSM.PostEvent(rad::UniqueEvent(ev));
89 return ev->GetPayload().GetReplyFuture();
92 virtual elt::mal::future<std::string>
HwDisable(
const std::vector<std::string>& devices)
override {
93 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
94 Events::HwDisable* ev =
new Events::HwDisable(devices);
95 mSM.PostEvent(rad::UniqueEvent(ev));
96 return ev->GetPayload().GetReplyFuture();
99 virtual elt::mal::future<std::string>
HwReset(
const std::vector<std::string>& devices)
override {
100 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
101 Events::HwReset* ev =
new Events::HwReset(devices);
102 mSM.PostEvent(rad::UniqueEvent(ev));
103 return ev->GetPayload().GetReplyFuture();
106 virtual elt::mal::future<std::string>
Setup(
const std::vector<std::shared_ptr<fcfif::SetupElem>>& buffer)
override {
107 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
108 Events::Setup* ev =
new Events::Setup(buffer);
109 mSM.PostEvent(rad::UniqueEvent(ev));
110 return ev->GetPayload().GetReplyFuture();
113 virtual elt::mal::future<std::string>
Recover()
override {
114 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
115 Events::Recover* ev =
new Events::Recover();
116 mSM.PostEvent(rad::UniqueEvent(ev));
117 return ev->GetPayload().GetReplyFuture();
120 virtual elt::mal::future<std::string>
DevNames()
override {
121 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
122 Events::DevNames* ev =
new Events::DevNames();
123 mSM.PostEvent(rad::UniqueEvent(ev));
124 return ev->GetPayload().GetReplyFuture();
128 virtual elt::mal::future<std::string>
DevInfo()
override {
129 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
130 Events::DevInfo* ev =
new Events::DevInfo();
131 mSM.PostEvent(rad::UniqueEvent(ev));
132 return ev->GetPayload().GetReplyFuture();
135 virtual elt::mal::future<std::string>
DevConfig(
const std::string& devname)
override {
136 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
137 Events::DevConfig* ev =
new Events::DevConfig(devname);
138 mSM.PostEvent(rad::UniqueEvent(ev));
139 return ev->GetPayload().GetReplyFuture();
142 virtual elt::mal::future<std::string>
Open(
const std::string& devname)
override {
143 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
144 Events::Open* ev =
new Events::Open(devname);
145 mSM.PostEvent(rad::UniqueEvent(ev));
146 return ev->GetPayload().GetReplyFuture();
149 virtual elt::mal::future<std::string>
Close(
const std::string& devname)
override {
150 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
151 Events::Close* ev =
new Events::Close(devname);
152 mSM.PostEvent(rad::UniqueEvent(ev));
153 return ev->GetPayload().GetReplyFuture();
156 virtual elt::mal::future<std::string>
SwitchOn(
const std::shared_ptr<fcfif::SwitchOnParams>& params)
override {
157 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
158 Events::SwitchOn* ev =
new Events::SwitchOn(params->clone());
159 mSM.PostEvent(rad::UniqueEvent(ev));
160 return ev->GetPayload().GetReplyFuture();
163 virtual elt::mal::future<std::string>
SwitchOff(
const std::string& devname)
override {
164 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
165 Events::SwitchOff* ev =
new Events::SwitchOff(devname);
166 mSM.PostEvent(rad::UniqueEvent(ev));
167 return ev->GetPayload().GetReplyFuture();
170 virtual elt::mal::future<std::string>
MoveAbs(
const std::shared_ptr<fcfif::MoveAbsParams>& params)
override {
171 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
172 Events::MoveAbs* ev =
new Events::MoveAbs(params->clone());
173 mSM.PostEvent(rad::UniqueEvent(ev));
174 return ev->GetPayload().GetReplyFuture();
177 virtual elt::mal::future<std::string>
MoveByName(
const std::shared_ptr<fcfif::MoveByNameParams>& params)
override {
178 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
179 Events::MoveByName* ev =
new Events::MoveByName(params->clone());
180 mSM.PostEvent(rad::UniqueEvent(ev));
181 return ev->GetPayload().GetReplyFuture();
184 virtual elt::mal::future<std::string>
StartTrack(
const std::shared_ptr<fcfif::StartTrackParams>& params)
override {
185 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
186 Events::StartTrack* ev =
new Events::StartTrack(params->clone());
187 mSM.PostEvent(rad::UniqueEvent(ev));
188 return ev->GetPayload().GetReplyFuture();
191 virtual elt::mal::future<std::string>
StopTrack(
const std::string& devname)
override {
192 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
193 Events::StopTrack* ev =
new Events::StopTrack(devname);
194 mSM.PostEvent(rad::UniqueEvent(ev));
195 return ev->GetPayload().GetReplyFuture();
198 virtual elt::mal::future<std::string>
TrackOffset(
const std::shared_ptr<fcfif::TrackOffsetParams>& params)
override {
199 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
200 Events::TrackOffset* ev =
new Events::TrackOffset(params->clone());
201 mSM.PostEvent(rad::UniqueEvent(ev));
202 return ev->GetPayload().GetReplyFuture();
205 virtual elt::mal::future<std::string>
SetTipTilt(
const std::shared_ptr<fcfif::SetTipTiltParams>& params)
override {
206 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
207 Events::SetTipTilt* ev =
new Events::SetTipTilt(params->clone());
208 mSM.PostEvent(rad::UniqueEvent(ev));
209 return ev->GetPayload().GetReplyFuture();
212 virtual elt::mal::future<std::string>
SetCustom(
const std::shared_ptr<fcfif::SetCustomParams>& params)
override {
213 LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
214 Events::SetCustom* ev =
new Events::SetCustom(params->clone());
215 mSM.PostEvent(rad::UniqueEvent(ev));
216 return ev->GetPayload().GetReplyFuture();
221 log4cplus::Logger m_logger;
Definition appCmdsImpl.hpp:18
virtual elt::mal::future< std::string > Simulate(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:50
virtual elt::mal::future< std::string > DevNames() override
Definition appCmdsImpl.hpp:120
virtual elt::mal::future< std::string > HwInit(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:78
virtual elt::mal::future< std::string > Recover() override
Definition appCmdsImpl.hpp:113
virtual elt::mal::future< std::string > SwitchOff(const std::string &devname) override
Definition appCmdsImpl.hpp:163
virtual elt::mal::future< std::string > HwReset(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:99
virtual elt::mal::future< std::string > GetConfig() override
Definition appCmdsImpl.hpp:42
virtual elt::mal::future< std::string > MoveAbs(const std::shared_ptr< fcfif::MoveAbsParams > ¶ms) override
Definition appCmdsImpl.hpp:170
virtual elt::mal::future< std::string > SwitchOn(const std::shared_ptr< fcfif::SwitchOnParams > ¶ms) override
Definition appCmdsImpl.hpp:156
virtual elt::mal::future< std::string > StopTrack(const std::string &devname) override
Definition appCmdsImpl.hpp:191
virtual elt::mal::future< std::string > StopIgn(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:71
virtual elt::mal::future< std::string > SetCustom(const std::shared_ptr< fcfif::SetCustomParams > ¶ms) override
Definition appCmdsImpl.hpp:212
virtual elt::mal::future< std::string > TrackOffset(const std::shared_ptr< fcfif::TrackOffsetParams > ¶ms) override
Definition appCmdsImpl.hpp:198
virtual elt::mal::future< std::string > SetTipTilt(const std::shared_ptr< fcfif::SetTipTiltParams > ¶ms) override
Definition appCmdsImpl.hpp:205
virtual elt::mal::future< std::string > DevConfig(const std::string &devname) override
Definition appCmdsImpl.hpp:135
virtual elt::mal::future< std::string > Ignore(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:64
virtual elt::mal::future< std::string > DevInfo() override
Definition appCmdsImpl.hpp:128
virtual elt::mal::future< std::string > StopSim(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:57
virtual elt::mal::future< std::string > HwEnable(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:85
virtual elt::mal::future< std::string > Open(const std::string &devname) override
Definition appCmdsImpl.hpp:142
virtual elt::mal::future< std::string > Setup(const std::vector< std::shared_ptr< fcfif::SetupElem > > &buffer) override
Definition appCmdsImpl.hpp:106
AppCmdsImpl(rad::SMAdapter &sm)
Definition appCmdsImpl.hpp:20
virtual elt::mal::future< std::string > Config() override
Definition appCmdsImpl.hpp:35
virtual elt::mal::future< std::string > MoveByName(const std::shared_ptr< fcfif::MoveByNameParams > ¶ms) override
Definition appCmdsImpl.hpp:177
virtual elt::mal::future< std::string > HwDisable(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:92
virtual elt::mal::future< std::string > StartTrack(const std::shared_ptr< fcfif::StartTrackParams > ¶ms) override
Definition appCmdsImpl.hpp:184
virtual ~AppCmdsImpl()
Definition appCmdsImpl.hpp:24
virtual elt::mal::future< std::string > Close(const std::string &devname) override
Definition appCmdsImpl.hpp:149
virtual elt::mal::future< std::string > DevStatus(const std::vector< std::string > &devices) override
Definition appCmdsImpl.hpp:28
ActionMgr class source file.
Definition actionMgr.cpp:28
Definition actionMgr.cpp:28