ifw-sup 5.1.0
 
Loading...
Searching...
No Matches
stdCmdsImpl.hpp
Go to the documentation of this file.
1
7
8#ifndef SUP_SUBSIM_COMMON_STD_CMDS_IMPL_HPP_
9#define SUP_SUBSIM_COMMON_STD_CMDS_IMPL_HPP_
10
11#include "ifw/sup/subsim/common/events.rad.hpp"
12#include <ifw/core/utils/bat/logger.hpp>
14
15#include <rad/exceptions.hpp>
16#include <rad/smAdapter.hpp>
17
18
20
21 class StdCmdsImpl : public stdif::AsyncStdCmds {
22 public:
23 explicit StdCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(ifw::core::utils::bat::GetAppLogger()) {
24 }
25
26 virtual ~StdCmdsImpl() {
27 }
28
29 virtual elt::mal::future<std::string> Exit() override {
30 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
31 Events::Exit* ev = new Events::Exit();
32 mSM.PostEvent(rad::UniqueEvent(ev));
33 return ev->GetPayload().GetReplyFuture();
34 }
35
36 virtual elt::mal::future<std::string> Init() override {
37 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
38 Events::Init* ev = new Events::Init();
39 mSM.PostEvent(rad::UniqueEvent(ev));
40 return ev->GetPayload().GetReplyFuture();
41 }
42
43 virtual elt::mal::future<std::string> Stop() override {
44 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
45 Events::Stop* ev = new Events::Stop();
46 mSM.PostEvent(rad::UniqueEvent(ev));
47 return ev->GetPayload().GetReplyFuture();
48 }
49
50 virtual elt::mal::future<std::string> Reset() override {
51 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
52 Events::Reset* ev = new Events::Reset();
53 mSM.PostEvent(rad::UniqueEvent(ev));
54 return ev->GetPayload().GetReplyFuture();
55 }
56
57 virtual elt::mal::future<std::string> GetState() override {
58 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
59 Events::GetState* ev = new Events::GetState();
60 mSM.PostEvent(rad::UniqueEvent(ev));
61 return ev->GetPayload().GetReplyFuture();
62 }
63
64 virtual elt::mal::future<std::string> GetStatus() override {
65 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
66 Events::GetStatus* ev = new Events::GetStatus();
67 mSM.PostEvent(rad::UniqueEvent(ev));
68 return ev->GetPayload().GetReplyFuture();
69 }
70
71 virtual elt::mal::future<std::string> GetVersion() override {
72 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
73 Events::GetVersion* ev = new Events::GetVersion();
74 mSM.PostEvent(rad::UniqueEvent(ev));
75 return ev->GetPayload().GetReplyFuture();
76 }
77
78 virtual elt::mal::future<std::string> Enable() override {
79 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
80 Events::Enable* ev = new Events::Enable();
81 mSM.PostEvent(rad::UniqueEvent(ev));
82 return ev->GetPayload().GetReplyFuture();
83 }
84
85 virtual elt::mal::future<std::string> Disable() override {
86 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("StdCmdsImpl::"));
87 Events::Disable* ev = new Events::Disable();
88 mSM.PostEvent(rad::UniqueEvent(ev));
89 return ev->GetPayload().GetReplyFuture();
90 }
91
92 virtual elt::mal::future<std::string> SetLogLevel(
93 const std::shared_ptr<stdif::LogInfo>& mal_param) override {
94 auto ev = std::make_shared<Events::SetLogLevel>(mal_param->clone());
95 mSM.PostEvent(ev);
96 return ev->GetPayload().GetReplyFuture();
97 }
98
99#ifdef STDIF_VERSION
100# if STDIF_VERSION >= STDIF_MAKE_VERSION(4, 0, 0)
101 elt::mal::future<std::vector<std::shared_ptr<stdif::LogInfo>>>
102 GetLogLevel(const std::string &logger) {
103 LOG4CPLUS_TRACE_METHOD(m_logger, __PRETTY_FUNCTION__);
104 auto ev = std::make_shared<Events::GetLogLevel>(logger);
105 mSM.PostEvent(ev);
106 return ev->GetPayload().GetReplyFuture();
107 }
108# endif
109#endif
110
111
112
113 private:
114 rad::SMAdapter& mSM;
115 log4cplus::Logger m_logger;
116};
117
118
119
120} // namespace server
121
122#endif // SUP_SUBSIM_COMMON_STD_CMDS_IMPL_HPP_
StdCmdsImpl(rad::SMAdapter &sm)
Definition stdCmdsImpl.hpp:23
virtual elt::mal::future< std::string > GetVersion() override
Definition stdCmdsImpl.hpp:71
virtual elt::mal::future< std::string > SetLogLevel(const std::shared_ptr< stdif::LogInfo > &mal_param) override
Definition stdCmdsImpl.hpp:92
virtual elt::mal::future< std::string > Disable() override
Definition stdCmdsImpl.hpp:85
virtual elt::mal::future< std::string > Enable() override
Definition stdCmdsImpl.hpp:78
virtual elt::mal::future< std::string > Exit() override
Definition stdCmdsImpl.hpp:29
virtual elt::mal::future< std::string > Init() override
Definition stdCmdsImpl.hpp:36
virtual ~StdCmdsImpl()
Definition stdCmdsImpl.hpp:26
virtual elt::mal::future< std::string > Stop() override
Definition stdCmdsImpl.hpp:43
virtual elt::mal::future< std::string > GetState() override
Definition stdCmdsImpl.hpp:57
virtual elt::mal::future< std::string > GetStatus() override
Definition stdCmdsImpl.hpp:64
virtual elt::mal::future< std::string > Reset() override
Definition stdCmdsImpl.hpp:50
ActionMgr class source file.
Definition actionMgr.cpp:28
Definition actionMgr.cpp:28