5#ifndef CONTROL_RECCMDSIMPL_HPP_
6#define CONTROL_RECCMDSIMPL_HPP_
8#include <rad/exceptions.hpp>
9#include <rad/smAdapter.hpp>
11#include <ifw/ccf/control/recCmds.rad.hpp>
18 explicit RecCmdsImpl(rad::SMAdapter& sm) : m_sm(sm) { LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__); }
22 virtual elt::mal::future<std::string>
RecAbort()
override {
23 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
24 auto ev = std::make_shared<RecCmds::RecAbort>();
26 return ev->GetPayload().GetReplyFuture();
29 virtual elt::mal::future<std::shared_ptr<recif::RecStatus>>
RecContinue()
override {
30 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
31 auto ev = std::make_shared<RecCmds::RecContinue>();
33 return ev->GetPayload().GetReplyFuture();
36 virtual elt::mal::future<std::shared_ptr<recif::RecStatus>>
RecPause()
override {
37 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
38 auto ev = std::make_shared<RecCmds::RecPause>();
40 return ev->GetPayload().GetReplyFuture();
43 virtual elt::mal::future<std::shared_ptr<recif::RecStatus>>
RecStart(
44 const std::shared_ptr<recif::RecProperties>& mal_param)
override {
45 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
46 auto ev = std::make_shared<RecCmds::RecStart>(mal_param->clone());
48 return ev->GetPayload().GetReplyFuture();
51 virtual elt::mal::future<std::shared_ptr<recif::RecStatus>>
RecStatus(
52 const std::string& mal_param)
override {
53 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
54 auto ev = std::make_shared<RecCmds::RecStatus>(mal_param);
56 return ev->GetPayload().GetReplyFuture();
59 virtual elt::mal::future<std::shared_ptr<recif::RecStatus>>
RecStop()
override {
60 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
61 auto ev = std::make_shared<RecCmds::RecStop>();
63 return ev->GetPayload().GetReplyFuture();
66 virtual elt::mal::future<std::shared_ptr<recif::RecWaitStatus>>
RecWait(
67 const std::shared_ptr<recif::RecWaitSpec>& mal_param)
override {
68 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
69 auto ev = std::make_shared<RecCmds::RecWait>(mal_param->clone());
71 return ev->GetPayload().GetReplyFuture();
Implements the CII/MAL interface.
Definition recCmdsImpl.hpp:16
virtual elt::mal::future< std::shared_ptr< recif::RecStatus > > RecContinue() override
Definition recCmdsImpl.hpp:29
virtual elt::mal::future< std::shared_ptr< recif::RecStatus > > RecStop() override
Definition recCmdsImpl.hpp:59
virtual elt::mal::future< std::shared_ptr< recif::RecStatus > > RecStatus(const std::string &mal_param) override
Definition recCmdsImpl.hpp:51
virtual elt::mal::future< std::shared_ptr< recif::RecWaitStatus > > RecWait(const std::shared_ptr< recif::RecWaitSpec > &mal_param) override
Definition recCmdsImpl.hpp:66
RecCmdsImpl(rad::SMAdapter &sm)
Definition recCmdsImpl.hpp:18
virtual elt::mal::future< std::string > RecAbort() override
Definition recCmdsImpl.hpp:22
virtual elt::mal::future< std::shared_ptr< recif::RecStatus > > RecStart(const std::shared_ptr< recif::RecProperties > &mal_param) override
Definition recCmdsImpl.hpp:43
virtual elt::mal::future< std::shared_ptr< recif::RecStatus > > RecPause() override
Definition recCmdsImpl.hpp:36
virtual ~RecCmdsImpl()
Definition recCmdsImpl.hpp:20
Definition acqThread.cpp:10
log4cplus::Logger & Logger()
Definition base.cpp:23