13#ifndef RTCTK_REUSABLECOMPONENT_DEPLOYMENT_DAEMONIMPL_HPP
14#define RTCTK_REUSABLECOMPONENT_DEPLOYMENT_DAEMONIMPL_HPP
16#include "deploymentDaemonEvents.rad.hpp"
39 std::shared_ptr<elt::mal::rr::RrEntity> rr_service =
40 std::make_shared<DeploymentCmdsImpl>(engine);
41 replier.
RegisterService<rtctkif::AsyncDeploymentCmds>(
"DeploymentCmds", rr_service);
48 ::elt::mal::future<std::string>
Deploy(std::string
const& deploy_set)
override {
49 LOG4CPLUS_TRACE(m_logger,
"Received command 'Deploy' with deploy_set '" + deploy_set);
50 auto ev = std::make_shared<deployment_daemon_events::Deploy>(deploy_set);
51 auto f = ev->GetPayload().GetReplyFuture();
56 ::elt::mal::future<std::string>
Undeploy()
override {
57 LOG4CPLUS_TRACE(m_logger,
"Received command 'Undeploy'");
58 auto ev = std::make_shared<deployment_daemon_events::Undeploy>();
59 auto f = ev->GetPayload().GetReplyFuture();
65 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetActiveDeployment'");
66 return cfw::InjectReqRepEvent<deployment_daemon_events::GetActiveDeployment>(m_engine);
70 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetDescription'");
71 return cfw::InjectReqRepEvent<deployment_daemon_events::GetDescription>(m_engine);
75 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetDeploymentSets'");
76 auto ev = std::make_shared<deployment_daemon_events::GetDeploymentSets>();
77 auto f = ev->GetPayload().GetReplyFuture();
83 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetComponents'");
84 auto ev = std::make_shared<deployment_daemon_events::GetComponents>();
85 auto f = ev->GetPayload().GetReplyFuture();
91 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetActiveComponents'");
92 auto ev = std::make_shared<deployment_daemon_events::GetActiveComponents>();
93 auto f = ev->GetPayload().GetReplyFuture();
98 ::elt::mal::future<std::string>
StartComponent(std::string
const& component_name)
override {
99 LOG4CPLUS_TRACE(m_logger,
100 "Received command 'StartComponent' with component_name'" + component_name);
101 auto ev = std::make_shared<deployment_daemon_events::StartComponent>(component_name);
102 auto f = ev->GetPayload().GetReplyFuture();
107 ::elt::mal::future<std::string>
StopComponent(std::string
const& component_name)
override {
108 LOG4CPLUS_TRACE(m_logger,
109 "Received command 'StopComponent' with component_name'" + component_name);
110 auto ev = std::make_shared<deployment_daemon_events::StopComponent>(component_name);
111 auto f = ev->GetPayload().GetReplyFuture();
116 ::elt::mal::future<std::string>
GetState()
override {
117 LOG4CPLUS_TRACE(m_logger,
"Received command 'GetState'");
118 return cfw::InjectReqRepEvent<deployment_daemon_events::GetState>(m_engine);
121 ::elt::mal::future<std::string>
Reset()
override {
122 LOG4CPLUS_TRACE(m_logger,
"Received command 'Reset'");
123 return cfw::InjectReqRepEvent<deployment_daemon_events::Reset>(m_engine);
126 ::elt::mal::future<std::string>
Exit()
override {
127 LOG4CPLUS_TRACE(m_logger,
"Received command 'Exit'");
128 return cfw::InjectReqRepEvent<deployment_daemon_events::Exit>(m_engine);
131 ::elt::mal::future<std::string>
132 SetLogLevel(std::shared_ptr<rtctkif::LogInfo>
const& info)
override {
133 LOG4CPLUS_TRACE(m_logger,
134 "Received command 'SetLogLevel' with logger '" + info->getLogger() +
135 "' and level '" + info->getLevel() +
"'");
136 auto ev = std::make_shared<deployment_daemon_events::SetLogLevel>(info->clone());
137 auto f = ev->GetPayload().GetReplyFuture();
143 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
void PostEvent(rad::SharedEvent s)
Injects a new event into the state machine engine.
Definition: stateMachineEngine.cpp:148
Class that handles reception of DeploymentCmds commands.
Definition: deploymentDaemonCmdsImpl.hpp:36
::elt::mal::future< std::string > GetState() override
Definition: deploymentDaemonCmdsImpl.hpp:116
::elt::mal::future< std::string > GetActiveDeployment() override
Definition: deploymentDaemonCmdsImpl.hpp:64
static void Register(cfw::CommandReplier &replier, cfw::StateMachineEngine &engine)
Definition: deploymentDaemonCmdsImpl.hpp:38
::elt::mal::future< std::vector< std::string > > GetComponents() override
Definition: deploymentDaemonCmdsImpl.hpp:82
::elt::mal::future< std::string > SetLogLevel(std::shared_ptr< rtctkif::LogInfo > const &info) override
Definition: deploymentDaemonCmdsImpl.hpp:132
::elt::mal::future< std::string > Exit() override
Definition: deploymentDaemonCmdsImpl.hpp:126
::elt::mal::future< std::string > Deploy(std::string const &deploy_set) override
Definition: deploymentDaemonCmdsImpl.hpp:48
::elt::mal::future< std::string > Reset() override
Definition: deploymentDaemonCmdsImpl.hpp:121
::elt::mal::future< std::string > Undeploy() override
Definition: deploymentDaemonCmdsImpl.hpp:56
::elt::mal::future< std::string > StartComponent(std::string const &component_name) override
Definition: deploymentDaemonCmdsImpl.hpp:98
::elt::mal::future< std::vector< std::string > > GetDeploymentSets() override
Definition: deploymentDaemonCmdsImpl.hpp:74
::elt::mal::future< std::string > StopComponent(std::string const &component_name) override
Definition: deploymentDaemonCmdsImpl.hpp:107
::elt::mal::future< std::string > GetDescription() override
Definition: deploymentDaemonCmdsImpl.hpp:69
::elt::mal::future< std::vector< std::string > > GetActiveComponents() override
Definition: deploymentDaemonCmdsImpl.hpp:90
DeploymentCmdsImpl(cfw::StateMachineEngine &engine)
Definition: deploymentDaemonCmdsImpl.hpp:44
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: deploymentDaemonBusinessLogic.cpp:30
Wrapper around the SCXML State Machine Engine.