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 <rad/logger.hpp>
15 #include <rad/exceptions.hpp>
16 #include <rad/smAdapter.hpp>
30 virtual elt::mal::future<std::string>
DevStatus(
const std::vector<std::string>& devices)
override {
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 {
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 {
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>
SetLog(
const std::string& level)
override {
54 Events::SetLog* ev =
new Events::SetLog(level);
55 mSM.PostEvent(rad::UniqueEvent(ev));
56 return ev->GetPayload().GetReplyFuture();
59 virtual elt::mal::future<std::string>
Simulate(
const std::vector<std::string>& devices)
override {
61 Events::Simulate* ev =
new Events::Simulate(devices);
62 mSM.PostEvent(rad::UniqueEvent(ev));
63 return ev->GetPayload().GetReplyFuture();
66 virtual elt::mal::future<std::string>
StopSim(
const std::vector<std::string>& devices)
override {
68 Events::StopSim* ev =
new Events::StopSim(devices);
69 mSM.PostEvent(rad::UniqueEvent(ev));
70 return ev->GetPayload().GetReplyFuture();
73 virtual elt::mal::future<std::string>
Ignore(
const std::vector<std::string>& devices)
override {
75 Events::Ignore* ev =
new Events::Ignore(devices);
76 mSM.PostEvent(rad::UniqueEvent(ev));
77 return ev->GetPayload().GetReplyFuture();
80 virtual elt::mal::future<std::string>
StopIgn(
const std::vector<std::string>& devices)
override {
82 Events::StopIgn* ev =
new Events::StopIgn(devices);
83 mSM.PostEvent(rad::UniqueEvent(ev));
84 return ev->GetPayload().GetReplyFuture();
87 virtual elt::mal::future<std::string>
HwInit(
const std::vector<std::string>& devices)
override {
89 Events::HwInit* ev =
new Events::HwInit(devices);
90 mSM.PostEvent(rad::UniqueEvent(ev));
91 return ev->GetPayload().GetReplyFuture();
94 virtual elt::mal::future<std::string>
HwEnable(
const std::vector<std::string>& devices)
override {
96 Events::HwEnable* ev =
new Events::HwEnable(devices);
97 mSM.PostEvent(rad::UniqueEvent(ev));
98 return ev->GetPayload().GetReplyFuture();
101 virtual elt::mal::future<std::string>
HwDisable(
const std::vector<std::string>& devices)
override {
103 Events::HwDisable* ev =
new Events::HwDisable(devices);
104 mSM.PostEvent(rad::UniqueEvent(ev));
105 return ev->GetPayload().GetReplyFuture();
108 virtual elt::mal::future<std::string>
HwReset(
const std::vector<std::string>& devices)
override {
110 Events::HwReset* ev =
new Events::HwReset(devices);
111 mSM.PostEvent(rad::UniqueEvent(ev));
112 return ev->GetPayload().GetReplyFuture();
115 virtual elt::mal::future<std::string>
Setup(
const std::vector<std::shared_ptr<fcfif::SetupElem>>& buffer)
override {
117 Events::Setup* ev =
new Events::Setup(buffer);
118 mSM.PostEvent(rad::UniqueEvent(ev));
119 return ev->GetPayload().GetReplyFuture();
122 virtual elt::mal::future<std::string>
Recover()
override {
124 Events::Recover* ev =
new Events::Recover();
125 mSM.PostEvent(rad::UniqueEvent(ev));
126 return ev->GetPayload().GetReplyFuture();
129 virtual elt::mal::future<std::string>
DevNames()
override {
131 Events::DevNames* ev =
new Events::DevNames();
132 mSM.PostEvent(rad::UniqueEvent(ev));
133 return ev->GetPayload().GetReplyFuture();
136 virtual elt::mal::future<std::string>
DevInfo()
override {
138 Events::DevInfo* ev =
new Events::DevInfo();
139 mSM.PostEvent(rad::UniqueEvent(ev));
140 return ev->GetPayload().GetReplyFuture();
143 virtual elt::mal::future<std::string>
DevConfig(
const std::string& devname)
override {
145 Events::DevConfig* ev =
new Events::DevConfig(devname);
146 mSM.PostEvent(rad::UniqueEvent(ev));
147 return ev->GetPayload().GetReplyFuture();
156 #endif // FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_