HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
simCmdsImpl.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020-2025 European Southern Observatory (ESO)
2//
3// SPDX-License-Identifier: LGPL-3.0-only
4
13#ifndef HLCC_LSVSIM_SIMCMDSIMPL_HPP
14#define HLCC_LSVSIM_SIMCMDSIMPL_HPP
15
16#include <rad/exceptions.hpp>
17#include <rad/smAdapter.hpp>
18
19#include "lsvsim/simCmds.rad.hpp"
20#include "lsvsim/logger.hpp"
21
22namespace hlcc::lsvsim {
23
24
25class SimCmdsImpl : public lsvsimif::AsyncSimCmds {
26public:
27 explicit SimCmdsImpl(rad::SMAdapter& sm) : m_sm(sm) {
28 RAD_TRACE(GetLogger());
29 }
30
31 virtual ~SimCmdsImpl() {
32 RAD_TRACE(GetLogger());
33 }
34
35 virtual elt::mal::future<std::string> SetSim(const std::string& config) override {
36
37 RAD_TRACE(GetLogger());
38 LOG4CPLUS_INFO(GetLogger(), "Received SetSim with: Config " << config);
39
40 auto ev = std::make_shared<SimCmds::SetSim>(config);
41 m_sm.RegisterDefaultRequestRejectHandler<SimCmds::SetSim>();
42 m_sm.PostEvent(ev);
43 RAD_TRACE(GetLogger());
44
45 return ev->GetPayload().GetReplyFuture();
46
47 }
48
49private:
50 rad::SMAdapter& m_sm;
51};
52
53} // namespace hlcc::lsvsim
54
55#endif // HLCC_LSVSIM_SIMCMDSIMPL_HPP
Definition simCmdsImpl.hpp:25
virtual elt::mal::future< std::string > SetSim(const std::string &config) override
Definition simCmdsImpl.hpp:35
SimCmdsImpl(rad::SMAdapter &sm)
Definition simCmdsImpl.hpp:27
virtual ~SimCmdsImpl()
Definition simCmdsImpl.hpp:31
Default logger name.
Definition actionMgr.cpp:30
log4cplus::Logger & GetLogger()
Definition logger.cpp:21