RTC Toolkit  2.0.0
measCmdsImpl.hpp
Go to the documentation of this file.
1 
12 #ifndef RTCTK_COMPONENTFRAMEWORK_MEASCMDSIMPL_HPP
13 #define RTCTK_COMPONENTFRAMEWORK_MEASCMDSIMPL_HPP
14 
15 #include <Rtctkif.hpp>
17 #include <rtctk/componentFramework/events.rad.hpp>
21 
22 #include <mal/Cii.hpp>
23 
24 #include <memory>
25 #include <string>
26 
27 namespace rtctk::componentFramework {
28 
32 class MeasCmdsImpl : public rtctkif::AsyncMeasCmds {
33 public:
34  static void Register(CommandReplier& replier, StateMachineEngine& engine) {
35  std::shared_ptr<elt::mal::rr::RrEntity> rr_service = std::make_shared<MeasCmdsImpl>(engine);
36  replier.RegisterService<rtctkif::AsyncMeasCmds>("MeasCmds", rr_service);
37  }
38 
39  MeasCmdsImpl(StateMachineEngine& engine) : m_engine(engine) {
40  }
41 
42  ::elt::mal::future<std::string> Measure(std::string const& args) override {
43  LOG4CPLUS_TRACE(GetLogger(), "Received command 'Measure' with payload '" + args + "'");
44  return InjectReqRepEvent<events::Measure>(this->m_engine, args);
45  }
46 
47 private:
48  StateMachineEngine& m_engine;
49 };
50 
51 } // namespace rtctk::componentFramework
52 
53 #endif
commandReplier.hpp
Receive commands via MAL.
stateMachineEngine.hpp
Wrapper around the SCXML State Machine Engine.
rtctk::componentFramework
Definition: commandReplier.cpp:20
rtctk::componentFramework::StateMachineEngine
Definition: stateMachineEngine.hpp:31
rtctk::componentFramework::MeasCmdsImpl::Measure
::elt::mal::future< std::string > Measure(std::string const &args) override
Definition: measCmdsImpl.hpp:42
rtctk::componentFramework::GetLogger
log4cplus::Logger & GetLogger(const std::string &name="")
Get handle to a specific logger (used with logging macros)
rtctk::componentFramework::MeasCmdsImpl::Register
static void Register(CommandReplier &replier, StateMachineEngine &engine)
Definition: measCmdsImpl.hpp:34
rtctk::componentFramework::CommandReplier
Class that handles reception of commands using MAL.
Definition: commandReplier.hpp:26
rtctk::componentFramework::MeasCmdsImpl::MeasCmdsImpl
MeasCmdsImpl(StateMachineEngine &engine)
Definition: measCmdsImpl.hpp:39
rtctk::componentFramework::MeasCmdsImpl
Class that handles reception of command Measure using MAL.
Definition: measCmdsImpl.hpp:32
logger.hpp
Logging Support Library based on log4cplus.
rtctk::componentFramework::CommandReplier::RegisterService
void RegisterService(std::string const &name, std::shared_ptr< elt::mal::rr::RrEntity > &service)
Definition: commandReplier.hpp:33
malEventInjector.hpp
Provides core functionality of an RTC Component.