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;
134 #endif // CONTROL_DCSCMDSIMPL_HPP_