13#ifndef RTCTK_RTCSUPERVISOR_SUPERVISORYCMDSIMPL_HPP
14#define RTCTK_RTCSUPERVISOR_SUPERVISORYCMDSIMPL_HPP
22#include <rtctk/rtcSupervisor/supervisoryEvents.rad.hpp>
41 std::shared_ptr<elt::mal::rr::RrEntity> rr_service = std::make_shared<ModeCmdsImpl>(engine);
42 replier.
RegisterService<rtctkif::AsyncModeCmds>(
"ModeCmds", rr_service);
46 : m_logger(
GetLogger(
"rtctk")), m_engine(engine) {
49 ::elt::mal::future<std::string>
SetModes(std::string
const& args)
override {
50 LOG4CPLUS_TRACE(m_logger,
"Received command 'SetModes' with payload '" + args +
"'");
51 return InjectReqRepEvent<events::SetModes>(this->m_engine, args);
55 LOG4CPLUS_TRACE(m_logger,
56 "Received command 'SetDeferredModes' with payload '" + args +
"'");
57 return InjectReqRepEvent<events::SetDeferredModes>(this->m_engine, args);
61 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetDeferredModes'");
62 return InjectReqRepEvent<events::GetDeferredModes>(this->m_engine);
66 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetAvailableModes'");
67 return InjectReqRepEvent<events::GetAvailableModes>(this->m_engine);
71 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetActiveModes'");
72 return InjectReqRepEvent<events::GetActiveModes>(this->m_engine);
76 log4cplus::Logger& m_logger;
88 std::shared_ptr<elt::mal::rr::RrEntity> rr_service =
89 std::make_shared<WriteBackCmdsImpl>(engine);
90 replier.
RegisterService<rtctkif::AsyncWriteBackCmds>(
"WriteBackCmds", rr_service);
94 : m_logger(
GetLogger(
"rtctk")), m_engine(engine) {
97 ::elt::mal::future<std::string>
WriteBack(std::string
const& args)
override {
98 LOG4CPLUS_TRACE(m_logger,
"Received command 'WriteBack' with payload '" + args +
"'");
99 return InjectReqRepEvent<events::WriteBack>(this->m_engine, args);
103 log4cplus::Logger& m_logger;
Class that handles reception of commands using MAL.
Definition: commandReplier.hpp:29
void RegisterService(std::string const &name, std::shared_ptr< elt::mal::rr::RrEntity > &service)
Definition: commandReplier.hpp:36
Definition: stateMachineEngine.hpp:35
Class that handles reception of mode-related commands using MAL.
Definition: supervisoryCmdsImpl.hpp:38
::elt::mal::future< std::string > SetModes(std::string const &args) override
Definition: supervisoryCmdsImpl.hpp:49
::elt::mal::future< std::string > GetAvailableModes() override
Definition: supervisoryCmdsImpl.hpp:65
::elt::mal::future< std::string > GetDeferredModes() override
Definition: supervisoryCmdsImpl.hpp:60
::elt::mal::future< std::string > SetDeferredModes(std::string const &args) override
Definition: supervisoryCmdsImpl.hpp:54
ModeCmdsImpl(StateMachineEngine &engine)
Definition: supervisoryCmdsImpl.hpp:45
::elt::mal::future< std::string > GetActiveModes() override
Definition: supervisoryCmdsImpl.hpp:70
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition: supervisoryCmdsImpl.hpp:40
Class that handles reception of writeback-related commands using MAL.
Definition: supervisoryCmdsImpl.hpp:85
WriteBackCmdsImpl(StateMachineEngine &engine)
Definition: supervisoryCmdsImpl.hpp:93
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition: supervisoryCmdsImpl.hpp:87
::elt::mal::future< std::string > WriteBack(std::string const &args) override
Definition: supervisoryCmdsImpl.hpp:97
Receive commands via MAL.
Logging Support Library based on log4cplus.
Provides core functionality of an RTC Component.
Definition: commandReplier.cpp:22
log4cplus::Logger & GetLogger(const std::string &name="app")
Get handle to a specific logger.
Definition: logger.cpp:180
Definition: rtcSupervisor.cpp:21
Wrapper around the SCXML State Machine Engine.