8#ifndef SUP_SYSSUP_COMMON_APP_CMDS_IMPL_HPP_
9#define SUP_SYSSUP_COMMON_APP_CMDS_IMPL_HPP_
11#include "ifw/sup/syssup/common/events.rad.hpp"
12#include <ifw/core/utils/bat/logger.hpp>
14#include <rad/exceptions.hpp>
15#include <rad/smAdapter.hpp>
27 explicit AppCmdsImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(
ifw::core::utils::bat::GetAppLogger()) {
36 virtual elt::mal::future<std::string>
SubStatus(
const std::string& subsyss)
override {
37 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SubStatus"));
39 Events::SubStatus* ev =
new Events::SubStatus(subsyss);
40 mSM.PostEvent(rad::UniqueEvent(ev));
41 return ev->GetPayload().GetReplyFuture();
46 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::ReloadConfig"));
47 Events::ReloadConfig* ev =
new Events::ReloadConfig();
48 mSM.PostEvent(rad::UniqueEvent(ev));
49 return ev->GetPayload().GetReplyFuture();
52 virtual elt::mal::future<std::string>
GetConfig()
override {
53 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::GetConfig"));
55 Events::GetConfig* ev =
new Events::GetConfig();
56 mSM.PostEvent(rad::UniqueEvent(ev));
57 return ev->GetPayload().GetReplyFuture();
60 virtual elt::mal::future<std::string>
SetConfig(
const std::string& config)
override {
61 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SetConfig"));
63 Events::SetConfig* ev =
new Events::SetConfig(config);
64 mSM.PostEvent(rad::UniqueEvent(ev));
65 return ev->GetPayload().GetReplyFuture();
68 virtual elt::mal::future<std::string>
Setup(
const std::vector<std::shared_ptr<supif::SetupElem>>& buffer)
override {
69 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::Setup"));
70 Events::Setup* ev =
new Events::Setup(buffer);
71 mSM.PostEvent(rad::UniqueEvent(ev));
72 return ev->GetPayload().GetReplyFuture();
75 virtual elt::mal::future<std::string>
SubInit(
const std::string& subsyss)
override {
76 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SubInit"));
77 Events::SubInit* ev =
new Events::SubInit(subsyss);
78 mSM.PostEvent(rad::UniqueEvent(ev));
79 return ev->GetPayload().GetReplyFuture();
82 virtual elt::mal::future<std::string>
SubEnable(
const std::string& subsyss)
override {
83 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SubEnable"));
84 Events::SubEnable* ev =
new Events::SubEnable(subsyss);
85 mSM.PostEvent(rad::UniqueEvent(ev));
86 return ev->GetPayload().GetReplyFuture();
89 virtual elt::mal::future<std::string>
SubDisable(
const std::string& subsyss)
override {
90 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SubDisable"));
91 Events::SubDisable* ev =
new Events::SubDisable(subsyss);
92 mSM.PostEvent(rad::UniqueEvent(ev));
93 return ev->GetPayload().GetReplyFuture();
96 virtual elt::mal::future<std::string>
SubReset(
const std::string& subsyss)
override {
97 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SubReset"));
98 Events::SubReset* ev =
new Events::SubReset(subsyss);
99 mSM.PostEvent(rad::UniqueEvent(ev));
100 return ev->GetPayload().GetReplyFuture();
103 virtual elt::mal::future<std::string>
Recover()
override {
104 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::Recover"));
105 Events::Recover* ev =
new Events::Recover();
106 mSM.PostEvent(rad::UniqueEvent(ev));
107 return ev->GetPayload().GetReplyFuture();
110 virtual elt::mal::future<std::string>
SubNames()
override {
111 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SubNames"));
112 Events::SubNames* ev =
new Events::SubNames();
113 mSM.PostEvent(rad::UniqueEvent(ev));
114 return ev->GetPayload().GetReplyFuture();
117 virtual elt::mal::future<std::string>
SetObMode(
const std::string& mode)
override {
118 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SetObMode"));
120 Events::SetObMode* ev =
new Events::SetObMode(mode);
121 mSM.PostEvent(rad::UniqueEvent(ev));
122 return ev->GetPayload().GetReplyFuture();
125 virtual elt::mal::future<std::string>
SetOpMode(
const std::string& mode)
override {
126 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SetOpMode"));
128 Events::SetOpMode* ev =
new Events::SetOpMode(mode);
129 mSM.PostEvent(rad::UniqueEvent(ev));
130 return ev->GetPayload().GetReplyFuture();
134 const std::shared_ptr<supif::AccessParams>& mal_param)
override {
135 LOG4CPLUS_TRACE_METHOD(m_logger, LOG4CPLUS_TEXT(
"AppCmdsImpl::SetAccess"));
136 auto ev = std::make_shared<Events::SetAccess>(mal_param->clone());
138 return ev->GetPayload().GetReplyFuture();
144 log4cplus::Logger m_logger;
virtual elt::mal::future< std::string > Setup(const std::vector< std::shared_ptr< supif::SetupElem > > &buffer) override
Definition appCmdsImpl.hpp:68
virtual elt::mal::future< std::string > SetObMode(const std::string &mode) override
Definition appCmdsImpl.hpp:117
virtual elt::mal::future< std::string > SubInit(const std::string &subsyss) override
Definition appCmdsImpl.hpp:75
virtual elt::mal::future< std::string > SubReset(const std::string &subsyss) override
Definition appCmdsImpl.hpp:96
virtual elt::mal::future< std::string > SubEnable(const std::string &subsyss) override
Definition appCmdsImpl.hpp:82
virtual elt::mal::future< std::string > Recover() override
Definition appCmdsImpl.hpp:103
virtual elt::mal::future< std::string > ReloadConfig() override
Definition appCmdsImpl.hpp:45
AppCmdsImpl(rad::SMAdapter &sm)
Definition appCmdsImpl.hpp:27
virtual elt::mal::future< std::string > SubNames() override
Definition appCmdsImpl.hpp:110
virtual elt::mal::future< std::string > SetOpMode(const std::string &mode) override
Definition appCmdsImpl.hpp:125
virtual elt::mal::future< std::string > SubDisable(const std::string &subsyss) override
Definition appCmdsImpl.hpp:89
virtual elt::mal::future< std::string > GetConfig() override
Definition appCmdsImpl.hpp:52
virtual elt::mal::future< std::string > SubStatus(const std::string &subsyss) override
Definition appCmdsImpl.hpp:36
virtual ~AppCmdsImpl()
Definition appCmdsImpl.hpp:31
virtual elt::mal::future< std::string > SetAccess(const std::shared_ptr< supif::AccessParams > &mal_param) override
Definition appCmdsImpl.hpp:133
virtual elt::mal::future< std::string > SetConfig(const std::string &config) override
Definition appCmdsImpl.hpp:60
ActionMgr class source file.
Definition actionMgr.cpp:30
Definition actionMgr.cpp:28