ifw-ccf  3.0.0-pre2
stdCmdsImpl.hpp
Go to the documentation of this file.
1 
5 #ifndef CONTROL_STDCMDSIMPL_HPP_
6 #define CONTROL_STDCMDSIMPL_HPP_
7 
8 #include <ccf/control/stdCmds.rad.hpp>
9 
10 #include <rad/exceptions.hpp>
11 #include <rad/smAdapter.hpp>
12 
13 namespace ccf::control {
14 
16 class StdCmdsImpl: public stdif::AsyncStdCmds {
17  public:
18  explicit StdCmdsImpl(rad::SMAdapter& sm): m_sm(sm) { LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__); }
19 
20  virtual ~StdCmdsImpl() { LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__); }
21 
22  virtual elt::mal::future<std::string> Disable() override {
23  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
24  auto ev = std::make_shared<StdCmds::Disable>();
25  m_sm.PostEvent(ev);
26  return ev->GetPayload().GetReplyFuture();
27  }
28 
29  virtual elt::mal::future<std::string> Enable() override {
30  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
31  auto ev = std::make_shared<StdCmds::Enable>();
32  m_sm.PostEvent(ev);
33  return ev->GetPayload().GetReplyFuture();
34  }
35 
36  virtual elt::mal::future<std::string> Exit() override {
37  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
38  auto ev = std::make_shared<StdCmds::Exit>();
39  m_sm.PostEvent(ev);
40  return ev->GetPayload().GetReplyFuture();
41  }
42 
43  virtual elt::mal::future<std::string> GetState() override {
44  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
45  auto ev = std::make_shared<StdCmds::GetState>();
46  m_sm.PostEvent(ev);
47  return ev->GetPayload().GetReplyFuture();
48  }
49 
50  virtual elt::mal::future<std::string> GetStatus() override {
51  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
52  auto ev = std::make_shared<StdCmds::GetStatus>();
53  m_sm.PostEvent(ev);
54  return ev->GetPayload().GetReplyFuture();
55  }
56 
57  virtual elt::mal::future<std::string> GetVersion() override {
58  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
59  auto ev = std::make_shared<StdCmds::GetVersion>();
60  m_sm.PostEvent(ev);
61  return ev->GetPayload().GetReplyFuture();
62  }
63 
64  virtual elt::mal::future<std::string> Init() override {
65  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
66  auto ev = std::make_shared<StdCmds::Init>();
67  m_sm.PostEvent(ev);
68  return ev->GetPayload().GetReplyFuture();
69  }
70 
71  virtual elt::mal::future<std::string> Reset() override {
72  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
73  auto ev = std::make_shared<StdCmds::Reset>();
74  m_sm.PostEvent(ev);
75  return ev->GetPayload().GetReplyFuture();
76  }
77 
78  virtual elt::mal::future<std::string> SetLogLevel(
79  const std::shared_ptr<stdif::LogInfo>& mal_param) override {
80  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
81  auto ev = std::make_shared<StdCmds::SetLogLevel>(mal_param->clone());
82  m_sm.PostEvent(ev);
83  return ev->GetPayload().GetReplyFuture();
84  }
85 
86  virtual elt::mal::future<std::string> Stop() override {
87  LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
88  auto ev = std::make_shared<StdCmds::Stop>();
89  m_sm.PostEvent(ev);
90  return ev->GetPayload().GetReplyFuture();
91  }
92 
93  private:
94  rad::SMAdapter& m_sm;
95 };
96 
97 } // namespace control
98 
99 #endif // CONTROL_STDCMDSIMPL_HPP_
Implements the CII/MAL interface.
Definition: stdCmdsImpl.hpp:16
virtual elt::mal::future< std::string > SetLogLevel(const std::shared_ptr< stdif::LogInfo > &mal_param) override
Definition: stdCmdsImpl.hpp:78
virtual elt::mal::future< std::string > GetState() override
Definition: stdCmdsImpl.hpp:43
virtual ~StdCmdsImpl()
Definition: stdCmdsImpl.hpp:20
StdCmdsImpl(rad::SMAdapter &sm)
Definition: stdCmdsImpl.hpp:18
virtual elt::mal::future< std::string > Enable() override
Definition: stdCmdsImpl.hpp:29
virtual elt::mal::future< std::string > Init() override
Definition: stdCmdsImpl.hpp:64
virtual elt::mal::future< std::string > GetVersion() override
Definition: stdCmdsImpl.hpp:57
virtual elt::mal::future< std::string > Disable() override
Definition: stdCmdsImpl.hpp:22
virtual elt::mal::future< std::string > GetStatus() override
Definition: stdCmdsImpl.hpp:50
virtual elt::mal::future< std::string > Reset() override
Definition: stdCmdsImpl.hpp:71
virtual elt::mal::future< std::string > Stop() override
Definition: stdCmdsImpl.hpp:86
virtual elt::mal::future< std::string > Exit() override
Definition: stdCmdsImpl.hpp:36
Definition: acqThread.cpp:10
log4cplus::Logger & Logger()
Definition: base.cpp:9