9 #ifndef FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
10 #define FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
12 #include "fcf/devmgr/common/events.rad.hpp"
14 #include <rad/logger.hpp>
15 #include <rad/exceptions.hpp>
16 #include <rad/smAdapter.hpp>
18 namespace fcf::devmgr::common {
30 virtual elt::mal::future<std::string>
Exit()
override {
32 Events::Exit* ev =
new Events::Exit();
33 mSM.PostEvent(rad::UniqueEvent(ev));
34 return ev->GetPayload().GetReplyFuture();
37 virtual elt::mal::future<std::string>
Init()
override {
39 Events::Init* ev =
new Events::Init();
40 mSM.PostEvent(rad::UniqueEvent(ev));
41 return ev->GetPayload().GetReplyFuture();
44 virtual elt::mal::future<std::string>
Stop()
override {
46 Events::Stop* ev =
new Events::Stop();
47 mSM.PostEvent(rad::UniqueEvent(ev));
48 return ev->GetPayload().GetReplyFuture();
51 virtual elt::mal::future<std::string>
Reset()
override {
53 Events::Reset* ev =
new Events::Reset();
54 mSM.PostEvent(rad::UniqueEvent(ev));
55 return ev->GetPayload().GetReplyFuture();
58 virtual elt::mal::future<std::string>
State()
override {
60 Events::State* ev =
new Events::State();
61 mSM.PostEvent(rad::UniqueEvent(ev));
62 return ev->GetPayload().GetReplyFuture();
65 virtual elt::mal::future<std::string>
Status(
const std::vector<std::string>& devices)
override {
67 Events::Status* ev =
new Events::Status(devices);
68 mSM.PostEvent(rad::UniqueEvent(ev));
69 return ev->GetPayload().GetReplyFuture();
72 virtual elt::mal::future<std::string>
Enable()
override {
74 Events::Enable* ev =
new Events::Enable();
75 mSM.PostEvent(rad::UniqueEvent(ev));
76 return ev->GetPayload().GetReplyFuture();
79 virtual elt::mal::future<std::string>
Disable()
override {
81 Events::Disable* ev =
new Events::Disable();
82 mSM.PostEvent(rad::UniqueEvent(ev));
83 return ev->GetPayload().GetReplyFuture();
86 virtual elt::mal::future<std::string>
Config()
override {
88 Events::Config* ev =
new Events::Config();
89 mSM.PostEvent(rad::UniqueEvent(ev));
90 return ev->GetPayload().GetReplyFuture();
93 virtual elt::mal::future<std::string>
SetLog(
const std::string& level)
override {
95 Events::SetLog* ev =
new Events::SetLog(level);
96 mSM.PostEvent(rad::UniqueEvent(ev));
97 return ev->GetPayload().GetReplyFuture();
100 virtual elt::mal::future<std::string>
Simulate(
const std::vector<std::string>& devices)
override {
102 Events::Simulate* ev =
new Events::Simulate(devices);
103 mSM.PostEvent(rad::UniqueEvent(ev));
104 return ev->GetPayload().GetReplyFuture();
107 virtual elt::mal::future<std::string>
StopSim(
const std::vector<std::string>& devices)
override {
109 Events::StopSim* ev =
new Events::StopSim(devices);
110 mSM.PostEvent(rad::UniqueEvent(ev));
111 return ev->GetPayload().GetReplyFuture();
114 virtual elt::mal::future<std::string>
Ignore(
const std::vector<std::string>& devices)
override {
116 Events::Ignore* ev =
new Events::Ignore(devices);
117 mSM.PostEvent(rad::UniqueEvent(ev));
118 return ev->GetPayload().GetReplyFuture();
121 virtual elt::mal::future<std::string>
StopIgn(
const std::vector<std::string>& devices)
override {
123 Events::StopIgn* ev =
new Events::StopIgn(devices);
124 mSM.PostEvent(rad::UniqueEvent(ev));
125 return ev->GetPayload().GetReplyFuture();
128 virtual elt::mal::future<std::string>
HwInit(
const std::vector<std::string>& devices)
override {
130 Events::HwInit* ev =
new Events::HwInit(devices);
131 mSM.PostEvent(rad::UniqueEvent(ev));
132 return ev->GetPayload().GetReplyFuture();
135 virtual elt::mal::future<std::string>
HwEnable(
const std::vector<std::string>& devices)
override {
137 Events::HwEnable* ev =
new Events::HwEnable(devices);
138 mSM.PostEvent(rad::UniqueEvent(ev));
139 return ev->GetPayload().GetReplyFuture();
142 virtual elt::mal::future<std::string>
HwDisable(
const std::vector<std::string>& devices)
override {
144 Events::HwDisable* ev =
new Events::HwDisable(devices);
145 mSM.PostEvent(rad::UniqueEvent(ev));
146 return ev->GetPayload().GetReplyFuture();
149 virtual elt::mal::future<std::string>
HwReset(
const std::vector<std::string>& devices)
override {
151 Events::HwReset* ev =
new Events::HwReset(devices);
152 mSM.PostEvent(rad::UniqueEvent(ev));
153 return ev->GetPayload().GetReplyFuture();
156 virtual elt::mal::future<std::string>
Setup(
const std::vector<std::shared_ptr<fcfif::FcsUnion>>& buffer)
override {
158 Events::Setup* ev =
new Events::Setup(buffer);
159 mSM.PostEvent(rad::UniqueEvent(ev));
160 return ev->GetPayload().GetReplyFuture();
163 virtual elt::mal::future<std::string>
Recover()
override {
165 Events::Recover* ev =
new Events::Recover();
166 mSM.PostEvent(rad::UniqueEvent(ev));
167 return ev->GetPayload().GetReplyFuture();
170 virtual elt::mal::future<std::string>
DevNames()
override {
172 Events::DevNames* ev =
new Events::DevNames();
173 mSM.PostEvent(rad::UniqueEvent(ev));
174 return ev->GetPayload().GetReplyFuture();
177 virtual elt::mal::future<std::string>
BeginAcq(
const std::string& prefix)
override {
179 Events::BeginAcq* ev =
new Events::BeginAcq(prefix);
180 mSM.PostEvent(rad::UniqueEvent(ev));
181 return ev->GetPayload().GetReplyFuture();
184 virtual elt::mal::future<std::string>
EndAcq()
override {
186 Events::EndAcq* ev =
new Events::EndAcq();
187 mSM.PostEvent(rad::UniqueEvent(ev));
188 return ev->GetPayload().GetReplyFuture();
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