ifw-fcf  5.0.0-pre2
stdCmdsImpl.hpp
Go to the documentation of this file.
1 
9 #ifndef FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
10 #define FCF_DEVMGR_COMMON_STD_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 StdCmdsImpl : public stdif::AsyncStdCmds {
21 public:
22  StdCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(utils::bat::GetAppLogger()) {
23  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
24  }
25 
26  virtual ~StdCmdsImpl() {
27  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
28  }
29 
30  virtual elt::mal::future<std::string> Exit() override {
31  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
32  Events::Exit* ev = new Events::Exit();
33  mSM.PostEvent(rad::UniqueEvent(ev));
34  return ev->GetPayload().GetReplyFuture();
35  }
36 
37  virtual elt::mal::future<std::string> Init() override {
38  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
39  Events::Init* ev = new Events::Init();
40  mSM.PostEvent(rad::UniqueEvent(ev));
41  return ev->GetPayload().GetReplyFuture();
42  }
43 
44  virtual elt::mal::future<std::string> Stop() override {
45  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
46  Events::Stop* ev = new Events::Stop();
47  mSM.PostEvent(rad::UniqueEvent(ev));
48  return ev->GetPayload().GetReplyFuture();
49  }
50 
51  virtual elt::mal::future<std::string> Reset() override {
52  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
53  Events::Reset* ev = new Events::Reset();
54  mSM.PostEvent(rad::UniqueEvent(ev));
55  return ev->GetPayload().GetReplyFuture();
56  }
57 
58  virtual elt::mal::future<std::string> GetState() override {
59  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
60  Events::GetState* ev = new Events::GetState();
61  mSM.PostEvent(rad::UniqueEvent(ev));
62  return ev->GetPayload().GetReplyFuture();
63  }
64 
65  virtual elt::mal::future<std::string> GetStatus() override {
66  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
67  Events::GetStatus* ev = new Events::GetStatus();
68  mSM.PostEvent(rad::UniqueEvent(ev));
69  return ev->GetPayload().GetReplyFuture();
70  }
71 
72  virtual elt::mal::future<std::string> GetVersion() override {
73  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
74  Events::GetVersion* ev = new Events::GetVersion();
75  mSM.PostEvent(rad::UniqueEvent(ev));
76  return ev->GetPayload().GetReplyFuture();
77  }
78 
79  virtual elt::mal::future<std::string> Enable() override {
80  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
81  Events::Enable* ev = new Events::Enable();
82  mSM.PostEvent(rad::UniqueEvent(ev));
83  return ev->GetPayload().GetReplyFuture();
84  }
85 
86  virtual elt::mal::future<std::string> Disable() override {
87  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
88  Events::Disable* ev = new Events::Disable();
89  mSM.PostEvent(rad::UniqueEvent(ev));
90  return ev->GetPayload().GetReplyFuture();
91  }
92 
93  virtual elt::mal::future<std::string> SetLogLevel(
94  const std::shared_ptr<stdif::LogInfo>& mal_param) override {
95  auto ev = std::make_shared<Events::SetLogLevel>(mal_param->clone());
96  mSM.PostEvent(ev);
97  return ev->GetPayload().GetReplyFuture();
98  }
99 
100 
101 private:
102  rad::SMAdapter& mSM;
103  log4cplus::Logger m_logger;
104 };
105 
106 } // namespace server
107 
108 #endif // FCF_DEVMGR_COMMON_STD_CMDS_IMPL_HPP_
Definition: stdCmdsImpl.hpp:20
virtual elt::mal::future< std::string > Reset() override
Definition: stdCmdsImpl.hpp:51
virtual elt::mal::future< std::string > Enable() override
Definition: stdCmdsImpl.hpp:79
virtual ~StdCmdsImpl()
Definition: stdCmdsImpl.hpp:26
virtual elt::mal::future< std::string > Disable() override
Definition: stdCmdsImpl.hpp:86
virtual elt::mal::future< std::string > GetState() override
Definition: stdCmdsImpl.hpp:58
StdCmdsImpl(rad::SMAdapter &sm)
Definition: stdCmdsImpl.hpp:22
virtual elt::mal::future< std::string > GetVersion() override
Definition: stdCmdsImpl.hpp:72
virtual elt::mal::future< std::string > Init() override
Definition: stdCmdsImpl.hpp:37
virtual elt::mal::future< std::string > Stop() override
Definition: stdCmdsImpl.hpp:44
virtual elt::mal::future< std::string > GetStatus() override
Definition: stdCmdsImpl.hpp:65
virtual elt::mal::future< std::string > Exit() override
Definition: stdCmdsImpl.hpp:30
virtual elt::mal::future< std::string > SetLogLevel(const std::shared_ptr< stdif::LogInfo > &mal_param) override
Definition: stdCmdsImpl.hpp:93
Definition: actionMgr.cpp:29