ifw-fcf  5.0.0-pre2
appCmdsImpl.hpp
Go to the documentation of this file.
1 
9 #ifndef FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
10 #define FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
11 
12 #include "fcf/devmgr/common/events.rad.hpp"
13 
14 #include <utils/bat/logger.hpp>
15 #include <rad/exceptions.hpp>
16 #include <rad/smAdapter.hpp>
17 
18 namespace fcf::devmgr::common {
19 
20 class AppCmdsImpl : public fcfif::AsyncAppCmds {
21 public:
22  AppCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(utils::bat::GetAppLogger()) {
23  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
24  }
25 
26  virtual ~AppCmdsImpl() {
27  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
28  }
29 
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();
35  }
36 
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();
42  }
43 
44  virtual elt::mal::future<std::string> GetConfig() override {
45  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
46 
47  Events::GetConfig* ev = new Events::GetConfig();
48  mSM.PostEvent(rad::UniqueEvent(ev));
49  return ev->GetPayload().GetReplyFuture();
50  }
51 
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();
57  }
58 
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();
64  }
65 
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();
71  }
72 
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();
78  }
79 
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();
85  }
86 
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();
92  }
93 
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();
99  }
100 #include <utils/bat/logger.hpp>
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();
106  }
107 
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();
113  }
114 
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();
120  }
121 
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();
127  }
128 
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();
134  }
135 
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();
141  }
142 
143 private:
144  rad::SMAdapter& mSM;
145  log4cplus::Logger m_logger;
146 };
147 
148 } // namespace server
149 
150 #endif // FCF_DEVMGR_COMMON_APP_CMDS_IMPL_HPP_
Definition: appCmdsImpl.hpp:20
AppCmdsImpl(rad::SMAdapter &sm)
Definition: appCmdsImpl.hpp:22
virtual elt::mal::future< std::string > HwDisable(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:94
virtual elt::mal::future< std::string > Ignore(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:66
virtual elt::mal::future< std::string > Simulate(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:52
virtual elt::mal::future< std::string > Recover() override
Definition: appCmdsImpl.hpp:115
virtual elt::mal::future< std::string > DevInfo() override
Definition: appCmdsImpl.hpp:129
virtual elt::mal::future< std::string > HwEnable(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:87
virtual elt::mal::future< std::string > DevNames() override
Definition: appCmdsImpl.hpp:122
virtual elt::mal::future< std::string > DevStatus(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:30
virtual elt::mal::future< std::string > StopSim(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:59
virtual elt::mal::future< std::string > DevConfig(const std::string &devname) override
Definition: appCmdsImpl.hpp:136
virtual elt::mal::future< std::string > Config() override
Definition: appCmdsImpl.hpp:37
virtual elt::mal::future< std::string > HwReset(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:101
virtual elt::mal::future< std::string > StopIgn(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:73
virtual elt::mal::future< std::string > GetConfig() override
Definition: appCmdsImpl.hpp:44
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 > HwInit(const std::vector< std::string > &devices) override
Definition: appCmdsImpl.hpp:80
virtual ~AppCmdsImpl()
Definition: appCmdsImpl.hpp:26
Definition: actionMgr.cpp:29