rad 6.2.0
Loading...
Searching...
No Matches
cmdsImpl.hpp
Go to the documentation of this file.
1
9#ifndef EXCIISERVER_CMDS_IMPL_HPP
10#define EXCIISERVER_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 exciiserver {
19
20class CmdsImpl : public exciiif::AsyncPresetCmds {
21public:
22 explicit CmdsImpl(rad::SMAdapter& sm) : m_sm(sm) {
24 }
25
26 virtual ~CmdsImpl() {
28 }
29
30 virtual elt::mal::future<std::string> Preset(const std::shared_ptr<exciiif::TelPosition>& pos) override {
32 auto ev = std::make_shared<Events::Preset>(pos->clone());
33 m_sm.PostEvent(ev);
34 return ev->GetPayload().GetReplyFuture();
35 }
36
37private:
38 rad::SMAdapter& m_sm;
39};
40
41} // namespace exciiserver
42
43#endif // EXCIISERVER_CMDS_IMPL_HPP
Default logger name.
Definition cmdsImpl.hpp:20
CmdsImpl(rad::SMAdapter &sm)
Definition cmdsImpl.hpp:22
virtual ~CmdsImpl()
Definition cmdsImpl.hpp:26
virtual elt::mal::future< std::string > Preset(const std::shared_ptr< exciiif::TelPosition > &pos) override
Definition cmdsImpl.hpp:30
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:26
log4cplus::Logger & GetLogger()
Definition logger.cpp:14
SMAdapter class header file.