5 #ifndef CONTROL_DCSCMDSIMPL_HPP_
6 #define CONTROL_DCSCMDSIMPL_HPP_
8 #include <rad/exceptions.hpp>
9 #include <rad/smAdapter.hpp>
11 #include <ccf/control/dcsCmds.rad.hpp>
18 explicit DcsCmdsImpl(rad::SMAdapter& sm): m_sm(sm) { LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__); }
22 virtual elt::mal::future<std::string>
Abort()
override {
23 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
24 auto ev = std::make_shared<DcsCmds::Abort>();
26 return ev->GetPayload().GetReplyFuture();
29 virtual elt::mal::future<std::string>
Execute(
30 const std::shared_ptr<dcsif::Method>& mal_param)
override {
31 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
32 auto ev = std::make_shared<DcsCmds::Execute>(mal_param->clone());
34 return ev->GetPayload().GetReplyFuture();
38 const std::string& mal_param)
override {
39 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
40 auto ev = std::make_shared<DcsCmds::GetConfig>(mal_param);
42 return ev->GetPayload().GetReplyFuture();
46 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
47 auto ev = std::make_shared<DcsCmds::GetDiagnostics>();
49 return ev->GetPayload().GetReplyFuture();
52 virtual elt::mal::future<std::string>
GetDpData()
override {
53 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
54 auto ev = std::make_shared<DcsCmds::GetDpData>();
56 return ev->GetPayload().GetReplyFuture();
59 virtual elt::mal::future<std::string>
GetSetup(
60 const std::string& mal_param)
override {
61 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
62 auto ev = std::make_shared<DcsCmds::GetSetup>(mal_param);
64 return ev->GetPayload().GetReplyFuture();
67 virtual elt::mal::future<std::string>
Ping()
override {
68 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
69 auto ev = std::make_shared<DcsCmds::Ping>();
71 return ev->GetPayload().GetReplyFuture();
74 virtual elt::mal::future<std::string>
ReadPars(
75 const std::string& mal_param)
override {
76 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
77 auto ev = std::make_shared<DcsCmds::ReadPars>(mal_param);
79 return ev->GetPayload().GetReplyFuture();
82 virtual elt::mal::future<std::string>
Recover()
override {
83 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
84 auto ev = std::make_shared<DcsCmds::Recover>();
86 return ev->GetPayload().GetReplyFuture();
89 virtual elt::mal::future<std::string>
Scan()
override {
90 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
91 auto ev = std::make_shared<DcsCmds::Scan>();
93 return ev->GetPayload().GetReplyFuture();
97 const std::string& mal_param)
override {
98 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
99 auto ev = std::make_shared<DcsCmds::SetConfig>(mal_param);
101 return ev->GetPayload().GetReplyFuture();
104 virtual elt::mal::future<std::string>
Setup(
105 const std::string& mal_param)
override {
106 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
107 auto ev = std::make_shared<DcsCmds::Setup>(mal_param);
109 return ev->GetPayload().GetReplyFuture();
112 virtual elt::mal::future<std::string>
Start(
113 const std::shared_ptr<dcsif::StartProperties>& mal_param)
override {
114 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
115 auto ev = std::make_shared<DcsCmds::Start>(mal_param->clone());
117 return ev->GetPayload().GetReplyFuture();
121 const std::string& mal_param)
override {
122 LOG4CPLUS_TRACE_METHOD(
Logger(), __PRETTY_FUNCTION__);
123 auto ev = std::make_shared<DcsCmds::WritePars>(mal_param);
125 return ev->GetPayload().GetReplyFuture();
129 rad::SMAdapter& m_sm;
Implements the CII/MAL interface.
Definition: dcsCmdsImpl.hpp:16
virtual elt::mal::future< std::string > Abort() override
Definition: dcsCmdsImpl.hpp:22
virtual elt::mal::future< std::string > Start(const std::shared_ptr< dcsif::StartProperties > &mal_param) override
Definition: dcsCmdsImpl.hpp:112
virtual elt::mal::future< std::string > Scan() override
Definition: dcsCmdsImpl.hpp:89
virtual elt::mal::future< std::string > SetConfig(const std::string &mal_param) override
Definition: dcsCmdsImpl.hpp:96
virtual elt::mal::future< std::string > GetSetup(const std::string &mal_param) override
Definition: dcsCmdsImpl.hpp:59
virtual elt::mal::future< std::string > GetDiagnostics() override
Definition: dcsCmdsImpl.hpp:45
virtual elt::mal::future< std::string > Ping() override
Definition: dcsCmdsImpl.hpp:67
virtual elt::mal::future< std::string > ReadPars(const std::string &mal_param) override
Definition: dcsCmdsImpl.hpp:74
virtual elt::mal::future< std::string > GetConfig(const std::string &mal_param) override
Definition: dcsCmdsImpl.hpp:37
virtual elt::mal::future< std::string > Recover() override
Definition: dcsCmdsImpl.hpp:82
virtual elt::mal::future< std::string > GetDpData() override
Definition: dcsCmdsImpl.hpp:52
virtual elt::mal::future< std::string > Setup(const std::string &mal_param) override
Definition: dcsCmdsImpl.hpp:104
DcsCmdsImpl(rad::SMAdapter &sm)
Definition: dcsCmdsImpl.hpp:18
virtual elt::mal::future< std::string > WritePars(const std::string &mal_param) override
Definition: dcsCmdsImpl.hpp:120
virtual ~DcsCmdsImpl()
Definition: dcsCmdsImpl.hpp:20
virtual elt::mal::future< std::string > Execute(const std::shared_ptr< dcsif::Method > &mal_param) override
Definition: dcsCmdsImpl.hpp:29
Definition: acqThread.cpp:10
log4cplus::Logger & Logger()
Definition: base.cpp:9