5 #ifndef CONTROL_RECCMDSIMPL_HPP_
6 #define CONTROL_RECCMDSIMPL_HPP_
8 #include <rad/exceptions.hpp>
9 #include <rad/smAdapter.hpp>
11 #include <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();
80 #endif // CONTROL_RECCMDSIMPL_HPP_