rad  5.1.0
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 
18 namespace exciiserver {
19 
20 class CmdsImpl : public exciiif::AsyncPresetCmds {
21 public:
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 
37 private:
38  rad::SMAdapter& m_sm;
39 };
40 
41 } // namespace exciiserver
42 
43 #endif // EXCIISERVER_CMDS_IMPL_HPP
Definition: cmdsImpl.hpp:20
CmdsImpl(rad::SMAdapter &sm)
Definition: cmdsImpl.hpp:22
virtual elt::mal::future< std::string > Preset(const std::shared_ptr< exciiif::TelPosition > &pos) override
Definition: cmdsImpl.hpp:30
virtual ~CmdsImpl()
Definition: cmdsImpl.hpp:26
Definition: smAdapter.hpp:60
void PostEvent(SharedEvent e)
Definition: smAdapter.cpp:295
#define RAD_TRACE(logger)
Definition: logger.hpp:24
Exception classes header file.
Definition: actionMgr.cpp:25
log4cplus::Logger & GetLogger()
Definition: logger.cpp:14
SMAdapter class header file.
Default logger name.