12#ifndef RTCTK_COMPONENTFRAMEWORK_RTCCMDSIMPL_HPP
13#define RTCTK_COMPONENTFRAMEWORK_RTCCMDSIMPL_HPP
17#include <rtctk/componentFramework/events.rad.hpp>
37 std::shared_ptr<elt::mal::rr::RrEntity> rr_service = std::make_shared<FuncCmdsImpl>(engine);
38 replier.
RegisterService<rtctkif::AsyncFuncCmds>(
"FuncCmds", rr_service);
42 : m_logger(
GetLogger(
"rtctk")), m_engine(engine) {
45 ::elt::mal::future<std::string>
Run()
override {
46 LOG4CPLUS_TRACE(m_logger,
"Received command 'Run'");
50 ::elt::mal::future<std::string>
Idle()
override {
51 LOG4CPLUS_TRACE(m_logger,
"Received command 'Idle'");
56 log4cplus::Logger& m_logger;
68 std::shared_ptr<elt::mal::rr::RrEntity> rr_service =
69 std::make_shared<RecoverCmdsImpl>(engine);
70 replier.
RegisterService<rtctkif::AsyncRecoverCmds>(
"RecoverCmds", rr_service);
74 : m_logger(
GetLogger(
"rtctk")), m_engine(engine) {
77 ::elt::mal::future<std::string>
Recover()
override {
78 LOG4CPLUS_TRACE(m_logger,
"Received command 'Recover'");
83 log4cplus::Logger& m_logger;
95 std::shared_ptr<elt::mal::rr::RrEntity> rr_service =
96 std::make_shared<AlertCmdsImpl>(engine);
97 replier.
RegisterService<rtctkif::AsyncAlertCmds>(
"AlertCmds", rr_service);
101 : m_logger(
GetLogger(
"rtctk")), m_engine(engine) {
105 LOG4CPLUS_TRACE(m_logger,
"Received command 'ClearAlerts'");
110 log4cplus::Logger& m_logger;
122 std::shared_ptr<elt::mal::rr::RrEntity> rr_service =
123 std::make_shared<UpdateCmdsImpl>(engine);
124 replier.
RegisterService<rtctkif::AsyncUpdateCmds>(
"UpdateCmds", rr_service);
128 : m_logger(
GetLogger(
"rtctk")), m_engine(engine) {
131 ::elt::mal::future<std::string>
Update(
const std::string& args)
override {
132 LOG4CPLUS_TRACE(m_logger,
"Received command 'Update' with payload '" + args +
"'");
137 log4cplus::Logger& m_logger;
AlertCmdsImpl(StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:100
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:94
::elt::mal::future< std::string > ClearAlerts() override
Definition rtcCmdsImpl.hpp:104
Class that handles reception of commands using MAL.
Definition commandReplier.hpp:29
void RegisterService(const std::string &name, std::shared_ptr< elt::mal::rr::RrEntity > &service)
Definition commandReplier.hpp:36
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:36
::elt::mal::future< std::string > Idle() override
Definition rtcCmdsImpl.hpp:50
FuncCmdsImpl(StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:41
::elt::mal::future< std::string > Run() override
Definition rtcCmdsImpl.hpp:45
::elt::mal::future< std::string > Recover() override
Definition rtcCmdsImpl.hpp:77
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:67
RecoverCmdsImpl(StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:73
Definition stateMachineEngine.hpp:34
::elt::mal::future< std::string > Update(const std::string &args) override
Definition rtcCmdsImpl.hpp:131
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:121
UpdateCmdsImpl(StateMachineEngine &engine)
Definition rtcCmdsImpl.hpp:127
Receive commands via MAL.
log4cplus::Logger & GetLogger(const std::string &name="app")
Get handle to a specific logger.
Definition logger.cpp:191
Logging Support Library based on log4cplus.
Provides core functionality of an RTC Component.
Definition commandReplier.cpp:21
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:22
Wrapper around the SCXML State Machine Engine.