rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stdCmdsImpl.hpp
Go to the documentation of this file.
1 
9 #ifndef HELLOMAL_STD_CMDS_IMPL_HPP_
10 #define HELLOMAL_STD_CMDS_IMPL_HPP_
11 
12 #include "events.rad.hpp"
13 #include "logger.hpp"
14 
15 #include <rad/exceptions.hpp>
16 #include <rad/smAdapter.hpp>
17 
18 namespace hellomal {
19 
20 class StdCmdsImpl : public hellomalif::AsyncStdCmds {
21 public:
22  explicit StdCmdsImpl(rad::SMAdapter& sm) : m_sm(sm) {
24  }
25 
26  virtual ~StdCmdsImpl() {
28  }
29 
30  virtual elt::mal::future<std::string> Exit() override {
32  auto ev = std::make_shared<Events::Exit>();
33  m_sm.PostEvent(ev);
34  return ev->GetPayload().GetReplyFuture();
35  }
36 
37  virtual elt::mal::future<std::string> Init() override {
39  auto ev = std::make_shared<Events::Init>();
40  m_sm.PostEvent(ev);
41  return ev->GetPayload().GetReplyFuture();
42  }
43 
44  virtual elt::mal::future<std::string> Stop() override {
46  auto ev = std::make_shared<Events::Stop>();
47  m_sm.PostEvent(ev);
48  return ev->GetPayload().GetReplyFuture();
49  }
50 
51  virtual elt::mal::future<std::string> Reset() override {
53  auto ev = std::make_shared<Events::Reset>();
54  m_sm.PostEvent(ev);
55  return ev->GetPayload().GetReplyFuture();
56  }
57 
58  virtual elt::mal::future<std::string> Status() override {
60  auto ev = std::make_shared<Events::Status>();
61  m_sm.PostEvent(ev);
62  return ev->GetPayload().GetReplyFuture();
63  }
64 
65  virtual elt::mal::future<std::string> Enable() override {
67  auto ev = std::make_shared<Events::Enable>();
68  m_sm.PostEvent(ev);
69  return ev->GetPayload().GetReplyFuture();
70  }
71 
72  virtual elt::mal::future<std::string> Disable() override {
74  auto ev = std::make_shared<Events::Disable>();
75  m_sm.PostEvent(ev);
76  return ev->GetPayload().GetReplyFuture();
77  }
78 
79  virtual elt::mal::future<std::string> Config() override {
81  auto ev = std::make_shared<Events::Config>();
82  m_sm.PostEvent(ev);
83  return ev->GetPayload().GetReplyFuture();
84  }
85 
86  virtual elt::mal::future<std::string> SetLogLevel(const std::shared_ptr<hellomalif::LogInfo>& info) override {
88  auto ev = std::make_shared<Events::SetLogLevel>(info->clone());
89  m_sm.PostEvent(ev);
90  return ev->GetPayload().GetReplyFuture();
91  }
92 
93 private:
94  rad::SMAdapter& m_sm;
95 };
96 
97 } // namespace hellomal
98 
99 #endif // HELLOMAL_STD_CMDS_IMPL_HPP_
log4cplus::Logger & GetLogger()
Definition: logger.cpp:14
virtual elt::mal::future< std::string > Status() override
Definition: stdCmdsImpl.hpp:58
virtual elt::mal::future< std::string > Disable() override
Definition: stdCmdsImpl.hpp:72
virtual elt::mal::future< std::string > Config() override
Definition: stdCmdsImpl.hpp:79
virtual elt::mal::future< std::string > Init() override
Definition: stdCmdsImpl.hpp:37
void PostEvent(SharedEvent e)
Definition: smAdapter.cpp:181
virtual elt::mal::future< std::string > SetLogLevel(const std::shared_ptr< hellomalif::LogInfo > &info) override
Definition: stdCmdsImpl.hpp:86
StdCmdsImpl(rad::SMAdapter &sm)
Definition: stdCmdsImpl.hpp:22
virtual elt::mal::future< std::string > Stop() override
Definition: stdCmdsImpl.hpp:44
Definition: smAdapter.hpp:42
virtual elt::mal::future< std::string > Reset() override
Definition: stdCmdsImpl.hpp:51
#define RAD_TRACE(logger)
Definition: logger.hpp:19
virtual elt::mal::future< std::string > Enable() override
Definition: stdCmdsImpl.hpp:65
virtual elt::mal::future< std::string > Exit() override
Definition: stdCmdsImpl.hpp:30
Default logger name.
virtual ~StdCmdsImpl()
Definition: stdCmdsImpl.hpp:26
Definition: Hellomalif.hpp:90