ifw-ccf 6.0.0
 
Loading...
Searching...
No Matches
dcsCmdsImpl.hpp
Go to the documentation of this file.
1
6
7#ifndef CONTROL_DCSCMDSIMPL_HPP_
8#define CONTROL_DCSCMDSIMPL_HPP_
9
10#include <rad/exceptions.hpp>
11#include <rad/smAdapter.hpp>
12
13#include <ifw/ccf/control/dcsCmds.rad.hpp>
14
15namespace ifw::ccf::control {
16
18class DcsCmdsImpl: public dcsif::AsyncDcsCmds {
19 public:
20 explicit DcsCmdsImpl(rad::SMAdapter& sm): m_sm(sm) { LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__); }
21
22 virtual ~DcsCmdsImpl() { LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__); }
23
24 virtual elt::mal::future<std::string> Abort() override {
25 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
26 auto ev = std::make_shared<DcsCmds::Abort>();
27 m_sm.PostEvent(ev);
28 return ev->GetPayload().GetReplyFuture();
29 }
30
31 virtual elt::mal::future<std::string> Execute(
32 const std::shared_ptr<dcsif::Method>& mal_param) override {
33 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
34 auto ev = std::make_shared<DcsCmds::Execute>(mal_param->clone());
35 m_sm.PostEvent(ev);
36 return ev->GetPayload().GetReplyFuture();
37 }
38
39 virtual elt::mal::future<std::string> GetConfig(
40 const std::string& mal_param) override {
41 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
42 auto ev = std::make_shared<DcsCmds::GetConfig>(mal_param);
43 m_sm.PostEvent(ev);
44 return ev->GetPayload().GetReplyFuture();
45 }
46
47 virtual elt::mal::future<std::string> GetDiagnostics() override {
48 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
49 auto ev = std::make_shared<DcsCmds::GetDiagnostics>();
50 m_sm.PostEvent(ev);
51 return ev->GetPayload().GetReplyFuture();
52 }
53
54 virtual elt::mal::future<std::string> GetSetup(
55 const std::string& mal_param) override {
56 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
57 auto ev = std::make_shared<DcsCmds::GetSetup>(mal_param);
58 m_sm.PostEvent(ev);
59 return ev->GetPayload().GetReplyFuture();
60 }
61
62 virtual elt::mal::future<std::string> Ping() override {
63 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
64 auto ev = std::make_shared<DcsCmds::Ping>();
65 m_sm.PostEvent(ev);
66 return ev->GetPayload().GetReplyFuture();
67 }
68
69 virtual elt::mal::future<std::string> ReadPars(
70 const std::string& mal_param) override {
71 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
72 auto ev = std::make_shared<DcsCmds::ReadPars>(mal_param);
73 m_sm.PostEvent(ev);
74 return ev->GetPayload().GetReplyFuture();
75 }
76
77 virtual elt::mal::future<std::string> Recover() override {
78 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
79 auto ev = std::make_shared<DcsCmds::Recover>();
80 m_sm.PostEvent(ev);
81 return ev->GetPayload().GetReplyFuture();
82 }
83
84 virtual elt::mal::future<std::string> Scan() override {
85 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
86 auto ev = std::make_shared<DcsCmds::Scan>();
87 m_sm.PostEvent(ev);
88 return ev->GetPayload().GetReplyFuture();
89 }
90
91 virtual elt::mal::future<std::string> SetConfig(
92 const std::string& mal_param) override {
93 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
94 auto ev = std::make_shared<DcsCmds::SetConfig>(mal_param);
95 m_sm.PostEvent(ev);
96 return ev->GetPayload().GetReplyFuture();
97 }
98
99 virtual elt::mal::future<std::string> Setup(
100 const std::string& mal_param) override {
101 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
102 auto ev = std::make_shared<DcsCmds::Setup>(mal_param);
103 m_sm.PostEvent(ev);
104 return ev->GetPayload().GetReplyFuture();
105 }
106
107 virtual elt::mal::future<std::string> Start(
108 const std::shared_ptr<dcsif::StartProperties>& mal_param) override {
109 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
110 auto ev = std::make_shared<DcsCmds::Start>(mal_param->clone());
111 m_sm.PostEvent(ev);
112 return ev->GetPayload().GetReplyFuture();
113 }
114
115 virtual elt::mal::future<std::string> WritePars(
116 const std::string& mal_param) override {
117 LOG4CPLUS_TRACE_METHOD(Logger(), __PRETTY_FUNCTION__);
118 auto ev = std::make_shared<DcsCmds::WritePars>(mal_param);
119 m_sm.PostEvent(ev);
120 return ev->GetPayload().GetReplyFuture();
121 }
122
123 private:
124 rad::SMAdapter& m_sm;
125};
126
127} // namespace ifw::ccf::control
128
129#endif // CONTROL_DCSCMDSIMPL_HPP_
virtual elt::mal::future< std::string > Ping() override
Definition dcsCmdsImpl.hpp:62
virtual elt::mal::future< std::string > Abort() override
Definition dcsCmdsImpl.hpp:24
virtual elt::mal::future< std::string > ReadPars(const std::string &mal_param) override
Definition dcsCmdsImpl.hpp:69
virtual ~DcsCmdsImpl()
Definition dcsCmdsImpl.hpp:22
virtual elt::mal::future< std::string > SetConfig(const std::string &mal_param) override
Definition dcsCmdsImpl.hpp:91
virtual elt::mal::future< std::string > GetConfig(const std::string &mal_param) override
Definition dcsCmdsImpl.hpp:39
virtual elt::mal::future< std::string > Setup(const std::string &mal_param) override
Definition dcsCmdsImpl.hpp:99
virtual elt::mal::future< std::string > Execute(const std::shared_ptr< dcsif::Method > &mal_param) override
Definition dcsCmdsImpl.hpp:31
virtual elt::mal::future< std::string > GetSetup(const std::string &mal_param) override
Definition dcsCmdsImpl.hpp:54
virtual elt::mal::future< std::string > Recover() override
Definition dcsCmdsImpl.hpp:77
virtual elt::mal::future< std::string > GetDiagnostics() override
Definition dcsCmdsImpl.hpp:47
virtual elt::mal::future< std::string > WritePars(const std::string &mal_param) override
Definition dcsCmdsImpl.hpp:115
virtual elt::mal::future< std::string > Scan() override
Definition dcsCmdsImpl.hpp:84
virtual elt::mal::future< std::string > Start(const std::shared_ptr< dcsif::StartProperties > &mal_param) override
Definition dcsCmdsImpl.hpp:107
DcsCmdsImpl(rad::SMAdapter &sm)
Definition dcsCmdsImpl.hpp:20
Definition acqThread.cpp:11
log4cplus::Logger & Logger()
Definition base.cpp:24