ifw-sup 5.1.0
 
Loading...
Searching...
No Matches
appCmdsImpl.hpp
Go to the documentation of this file.
1
7
8#ifndef SUP_SUBSIM_COMMON_APP_CMDS_IMPL_HPP_
9#define SUP_SUBSIM_COMMON_APP_CMDS_IMPL_HPP_
10
11#include "ifw/sup/subsim/common/events.rad.hpp"
12#include <ifw/core/utils/bat/logger.hpp>
13
14
15#include <rad/exceptions.hpp>
16#include <rad/smAdapter.hpp>
17
18
20
21class AppCmdsImpl : public subsimif::AsyncAppCmds {
22public:
23 explicit AppCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(ifw::core::utils::bat::GetAppLogger()) {
24 }
25
26 virtual ~AppCmdsImpl() {
27 }
28
29 virtual elt::mal::future<std::string> Setup() override {
30 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::Setup"));
31 Events::Setup* ev = new Events::Setup();
32 mSM.PostEvent(rad::UniqueEvent(ev));
33 return ev->GetPayload().GetReplyFuture();
34 }
35
36 virtual elt::mal::future<std::string> OpenLoop() override {
37 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::OpenLoop"));
38 Events::OpenLoop* ev = new Events::OpenLoop();
39 mSM.PostEvent(rad::UniqueEvent(ev));
40 return ev->GetPayload().GetReplyFuture();
41 }
42
43 virtual elt::mal::future<std::string> ClosedLoop() override {
44 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::ClosedLoop"));
45 Events::ClosedLoop* ev = new Events::ClosedLoop();
46 mSM.PostEvent(rad::UniqueEvent(ev));
47 return ev->GetPayload().GetReplyFuture();
48 }
49
50 virtual elt::mal::future<std::string> CmdStatus(const std::vector<std::string>& cmds) override {
51 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::CmdStatus"));
52 Events::CmdStatus* ev = new Events::CmdStatus(cmds);
53 mSM.PostEvent(rad::UniqueEvent(ev));
54 return ev->GetPayload().GetReplyFuture();
55 }
56
57 virtual elt::mal::future<std::string> CmdConfig(const std::vector<std::string>& cmds) override {
58 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::CmdConfig"));
59 Events::CmdConfig* ev = new Events::CmdConfig(cmds);
60 mSM.PostEvent(rad::UniqueEvent(ev));
61 return ev->GetPayload().GetReplyFuture();
62 }
63
64 virtual elt::mal::future<std::string> Config(const std::vector<std::shared_ptr<subsimif::ConfigCmdReply>>& buffer) override {
65 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::Config"));
66 Events::Config* ev = new Events::Config(buffer);
67 mSM.PostEvent(rad::UniqueEvent(ev));
68 return ev->GetPayload().GetReplyFuture();
69 }
70
71 virtual elt::mal::future<std::string> GetConfig() override {
72 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::GetConfig"));
73
74 Events::GetConfig* ev = new Events::GetConfig();
75 mSM.PostEvent(rad::UniqueEvent(ev));
76 return ev->GetPayload().GetReplyFuture();
77 }
78
79 virtual elt::mal::future<std::string> SetLog(const std::string& level) override {
80 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT("AppCmdsImpl::SetLog"));
81 Events::SetLog* ev = new Events::SetLog(level);
82 mSM.PostEvent(rad::UniqueEvent(ev));
83 return ev->GetPayload().GetReplyFuture();
84 }
85
86
87private:
88 rad::SMAdapter& mSM;
89 log4cplus::Logger m_logger;
90};
91
92} // namespace server
93
94#endif // SUP_SUBSIM_COMMON_APP_CMDS_IMPL_HPP_
virtual elt::mal::future< std::string > Config(const std::vector< std::shared_ptr< subsimif::ConfigCmdReply > > &buffer) override
Definition appCmdsImpl.hpp:64
virtual elt::mal::future< std::string > CmdStatus(const std::vector< std::string > &cmds) override
Definition appCmdsImpl.hpp:50
virtual elt::mal::future< std::string > SetLog(const std::string &level) override
Definition appCmdsImpl.hpp:79
virtual ~AppCmdsImpl()
Definition appCmdsImpl.hpp:26
virtual elt::mal::future< std::string > OpenLoop() override
Definition appCmdsImpl.hpp:36
virtual elt::mal::future< std::string > CmdConfig(const std::vector< std::string > &cmds) override
Definition appCmdsImpl.hpp:57
virtual elt::mal::future< std::string > Setup() override
Definition appCmdsImpl.hpp:29
AppCmdsImpl(rad::SMAdapter &sm)
Definition appCmdsImpl.hpp:23
virtual elt::mal::future< std::string > GetConfig() override
Definition appCmdsImpl.hpp:71
virtual elt::mal::future< std::string > ClosedLoop() override
Definition appCmdsImpl.hpp:43
ActionMgr class source file.
Definition actionMgr.cpp:28
Definition actionMgr.cpp:28