ifw-fcf  5.0.0-pre2
daqCmdsImpl.hpp
Go to the documentation of this file.
1 
9 #ifndef FCF_DEVMGR_COMMON_METADAQ_IMPL_HPP_
10 #define FCF_DEVMGR_COMMON_METADAQ_IMPL_HPP_
11 
12 #include "fcf/devmgr/common/events.rad.hpp"
13 
14 #include <utils/bat/logger.hpp>
15 #include <rad/exceptions.hpp>
16 #include <rad/smAdapter.hpp>
17 
18 namespace fcf::devmgr::common {
19 
20 class MetaDaqImpl : public metadaqif::AsyncMetaDaq {
21 public:
22  MetaDaqImpl(rad::SMAdapter& sm) : mSM(sm), m_logger(utils::bat::GetAppLogger()) {
23  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
24  }
25 
26  virtual ~MetaDaqImpl() {
27  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
28  }
29 
30  virtual elt::mal::future<std::shared_ptr<::metadaqif::DaqReply>> StartDaq(const std::string& id) override {
31  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
32  Events::StartDaq* ev = new Events::StartDaq(id);
33  mSM.PostEvent(rad::UniqueEvent(ev));
34  return ev->GetPayload().GetReplyFuture();
35  }
36 
37  virtual elt::mal::future<std::shared_ptr<::metadaqif::DaqStopReply>> StopDaq(const std::string& id) override {
38  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
39  Events::StopDaq* ev = new Events::StopDaq(id);
40  mSM.PostEvent(rad::UniqueEvent(ev));
41  return ev->GetPayload().GetReplyFuture();
42  }
43 
44  virtual elt::mal::future<std::shared_ptr<::metadaqif::DaqReply>> AbortDaq(const std::string& id) override {
45  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
46  Events::AbortDaq* ev = new Events::AbortDaq(id);
47  mSM.PostEvent(rad::UniqueEvent(ev));
48  return ev->GetPayload().GetReplyFuture();
49  }
50 
51 
52 
53  virtual elt::mal::future<std::shared_ptr<::metadaqif::DaqStatus>> GetDaqStatus(const std::string& id) override {
54  LOG4CPLUS_TRACE_METHOD(m_logger,__PRETTY_FUNCTION__);
55  Events::GetDaqStatus* ev = new Events::GetDaqStatus(id);
56  mSM.PostEvent(rad::UniqueEvent(ev));
57  return ev->GetPayload().GetReplyFuture();
58  }
59 
60 
61 private:
62  rad::SMAdapter& mSM;
63  log4cplus::Logger m_logger;
64 };
65 
66 } // namespace server
67 
68 #endif // FCF_DEVMGR_COMMON_METADAQ_IMPL_HPP_
Definition: daqCmdsImpl.hpp:20
virtual ~MetaDaqImpl()
Definition: daqCmdsImpl.hpp:26
virtual elt::mal::future< std::shared_ptr<::metadaqif::DaqReply > > StartDaq(const std::string &id) override
Definition: daqCmdsImpl.hpp:30
virtual elt::mal::future< std::shared_ptr<::metadaqif::DaqStopReply > > StopDaq(const std::string &id) override
Definition: daqCmdsImpl.hpp:37
MetaDaqImpl(rad::SMAdapter &sm)
Definition: daqCmdsImpl.hpp:22
virtual elt::mal::future< std::shared_ptr<::metadaqif::DaqStatus > > GetDaqStatus(const std::string &id) override
Definition: daqCmdsImpl.hpp:53
virtual elt::mal::future< std::shared_ptr<::metadaqif::DaqReply > > AbortDaq(const std::string &id) override
Definition: daqCmdsImpl.hpp:44
Definition: actionMgr.cpp:29