rad 6.2.0
Loading...
Searching...
No Matches
stdCmdsImpl.hpp
Go to the documentation of this file.
1
9#ifndef EXMALSERVER_STD_CMDS_IMPL_HPP_
10#define EXMALSERVER_STD_CMDS_IMPL_HPP_
11
12#include "events.rad.hpp"
13#include "logger.hpp"
14
15#include <rad/exceptions.hpp>
16#include <rad/smAdapter.hpp>
17
18namespace exmalserver {
19
20class StdCmdsImpl : public exmalif::AsyncStdCmds {
21 public:
22 explicit StdCmdsImpl(rad::SMAdapter& sm) : m_sm(sm) { RAD_TRACE(GetLogger()); }
23
25
26 virtual elt::mal::future<std::string> Exit() override {
28 auto ev = std::make_shared<Events::Exit>();
29 m_sm.PostEvent(ev);
30 return ev->GetPayload().GetReplyFuture();
31 }
32
33 virtual elt::mal::future<std::string> Init() override {
35 auto ev = std::make_shared<Events::Init>();
36 m_sm.PostEvent(ev);
37 return ev->GetPayload().GetReplyFuture();
38 }
39
40 virtual elt::mal::future<std::string> Stop() override {
42 auto ev = std::make_shared<Events::Stop>();
43 m_sm.PostEvent(ev);
44 return ev->GetPayload().GetReplyFuture();
45 }
46
47 virtual elt::mal::future<std::string> Reset() override {
49 auto ev = std::make_shared<Events::Reset>();
50 m_sm.PostEvent(ev);
51 return ev->GetPayload().GetReplyFuture();
52 }
53
54 virtual elt::mal::future<std::string> GetState() override {
56 auto ev = std::make_shared<Events::GetState>();
57 m_sm.PostEvent(ev);
58 return ev->GetPayload().GetReplyFuture();
59 }
60
61 virtual elt::mal::future<std::string> GetStatus() override {
63 auto ev = std::make_shared<Events::GetStatus>();
64 m_sm.PostEvent(ev);
65 return ev->GetPayload().GetReplyFuture();
66 }
67
68 virtual elt::mal::future<std::string> GetVersion() override {
70 auto ev = std::make_shared<Events::GetVersion>();
71 m_sm.PostEvent(ev);
72 return ev->GetPayload().GetReplyFuture();
73 }
74
75 virtual elt::mal::future<std::string> Enable() override {
77 auto ev = std::make_shared<Events::Enable>();
78 m_sm.PostEvent(ev);
79 return ev->GetPayload().GetReplyFuture();
80 }
81
82 virtual elt::mal::future<std::string> Disable() override {
84 auto ev = std::make_shared<Events::Disable>();
85 m_sm.PostEvent(ev);
86 return ev->GetPayload().GetReplyFuture();
87 }
88
89 virtual elt::mal::future<std::string> Config() override {
91 auto ev = std::make_shared<Events::Config>();
92 m_sm.PostEvent(ev);
93 return ev->GetPayload().GetReplyFuture();
94 }
95
96 virtual elt::mal::future<std::string> SetLogLevel(
97 const std::shared_ptr<exmalif::LogInfo>& info) override {
99 auto ev = std::make_shared<Events::SetLogLevel>(info->clone());
100 m_sm.PostEvent(ev);
101 return ev->GetPayload().GetReplyFuture();
102 }
103
104 virtual elt::mal::future<std::string> Preset(
105 const std::shared_ptr<exmalif::TelPosition>& pos) override {
107 auto ev = std::make_shared<Events::Preset>(pos->clone());
108 m_sm.PostEvent(ev);
109 return ev->GetPayload().GetReplyFuture();
110 }
111
112 virtual std::shared_ptr<::elt::mal::rr::Ami<std::string>> GetPresetProgress() override {
114 auto ev = std::make_shared<Events::GetPresetProgress>();
115 m_sm.PostEvent(ev);
116 return ev->GetPayload().GetAmiServer();
117 }
118
119 virtual elt::mal::future<std::string> Move(
120 const std::shared_ptr<exmalif::AxesPosition>& pos) override {
122 auto ev = std::make_shared<Events::Move>(pos->clone());
123 m_sm.PostEvent(ev);
124 return ev->GetPayload().GetReplyFuture();
125 }
126
127 private:
128 rad::SMAdapter& m_sm;
129};
130
131} // namespace exmalserver
132
133#endif // EXMALSERVER_STD_CMDS_IMPL_HPP_
Default logger name.
Definition stdCmdsImpl.hpp:20
virtual elt::mal::future< std::string > Move(const std::shared_ptr< exmalif::AxesPosition > &pos) override
Definition stdCmdsImpl.hpp:119
virtual ~StdCmdsImpl()
Definition stdCmdsImpl.hpp:24
virtual elt::mal::future< std::string > Disable() override
Definition stdCmdsImpl.hpp:82
StdCmdsImpl(rad::SMAdapter &sm)
Definition stdCmdsImpl.hpp:22
virtual elt::mal::future< std::string > Enable() override
Definition stdCmdsImpl.hpp:75
virtual elt::mal::future< std::string > GetStatus() override
Definition stdCmdsImpl.hpp:61
virtual elt::mal::future< std::string > Exit() override
Definition stdCmdsImpl.hpp:26
virtual elt::mal::future< std::string > Config() override
Definition stdCmdsImpl.hpp:89
virtual elt::mal::future< std::string > GetState() override
Definition stdCmdsImpl.hpp:54
virtual elt::mal::future< std::string > Stop() override
Definition stdCmdsImpl.hpp:40
virtual elt::mal::future< std::string > Reset() override
Definition stdCmdsImpl.hpp:47
virtual elt::mal::future< std::string > SetLogLevel(const std::shared_ptr< exmalif::LogInfo > &info) override
Definition stdCmdsImpl.hpp:96
virtual elt::mal::future< std::string > GetVersion() override
Definition stdCmdsImpl.hpp:68
virtual elt::mal::future< std::string > Init() override
Definition stdCmdsImpl.hpp:33
virtual elt::mal::future< std::string > Preset(const std::shared_ptr< exmalif::TelPosition > &pos) override
Definition stdCmdsImpl.hpp:104
virtual std::shared_ptr<::elt::mal::rr::Ami< std::string > > GetPresetProgress() override
Definition stdCmdsImpl.hpp:112
Definition smAdapter.hpp:60
void PostEvent(SharedEvent e)
Definition smAdapter.cpp:296
#define RAD_TRACE(logger)
Definition logger.hpp:21
Exception classes header file.
Definition actionMgr.cpp:24
log4cplus::Logger & GetLogger()
Definition logger.cpp:14
SMAdapter class header file.