9#ifndef HLCC_TRKSIM_TRACK_CMDS_IMPL_HPP
10#define HLCC_TRKSIM_TRACK_CMDS_IMPL_HPP
12#include <trksim/trackCtrEvents.rad.hpp>
16#include <rad/exceptions.hpp>
17#include <rad/smAdapter.hpp>
27 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::Preset>();
28 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SkyOffset>();
29 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::VelocityOffset>();
30 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetTargetAltAz>();
31 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetPointingPosition>();
32 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetPointingOffset>();
33 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetObservingWavelength>();
34 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::Stop>();
42 elt::mal::future<std::string>
Preset(
const std::shared_ptr<::msif::PresetArgs>& args)
override {
45 auto ev = std::make_shared<TrackCtrEvents::Preset>(args->clone());
48 return ev->GetPayload().GetReplyFuture();
51 elt::mal::future<std::string>
SkyOffset(
const std::shared_ptr<::msif::RaDec>& args)
override {
54 auto ev = std::make_shared<TrackCtrEvents::SkyOffset>(args->clone());
57 return ev->GetPayload().GetReplyFuture();
60 elt::mal::future<std::string>
VelocityOffset(
const std::shared_ptr<::msif::RaDec>& args)
override {
63 auto ev = std::make_shared<TrackCtrEvents::VelocityOffset>(args->clone());
66 return ev->GetPayload().GetReplyFuture();
69 elt::mal::future<std::string>
SetTargetAltAz(
const std::shared_ptr<::msif::AltAz>& args)
override {
73 auto ev = std::make_shared<TrackCtrEvents::SetTargetAltAz>(args->clone());
76 return ev->GetPayload().GetReplyFuture();
83 auto ev = std::make_shared<TrackCtrEvents::SetPointingPosition>(args->clone());
86 return ev->GetPayload().GetReplyFuture();
89 elt::mal::future<std::string>
SetPointingOffset(
const std::shared_ptr<::msif::RaDec>& args)
override {
93 auto ev = std::make_shared<TrackCtrEvents::SetPointingOffset>(args->clone());
96 return ev->GetPayload().GetReplyFuture();
102 auto ev = std::make_shared<TrackCtrEvents::SetObservingWavelength>(args);
105 return ev->GetPayload().GetReplyFuture();
108 elt::mal::future<std::string>
Stop()
override {
111 auto ev = std::make_shared<TrackCtrEvents::Stop>();
114 return ev->GetPayload().GetReplyFuture();
131 rad::SMAdapter& m_sm;
Definition: trackCmdsImpl.hpp:22
elt::mal::future< std::string > Stop() override
Definition: trackCmdsImpl.hpp:108
TrackCmdsImpl(rad::SMAdapter &sm)
Definition: trackCmdsImpl.hpp:24
elt::mal::future< std::string > VelocityOffset(const std::shared_ptr<::msif::RaDec > &args) override
Definition: trackCmdsImpl.hpp:60
elt::mal::future< std::string > SkyOffset(const std::shared_ptr<::msif::RaDec > &args) override
Definition: trackCmdsImpl.hpp:51
elt::mal::future< std::string > SetPointingPosition(const std::shared_ptr<::msif::XY > &args) override
Definition: trackCmdsImpl.hpp:79
elt::mal::future< std::string > Preset(const std::shared_ptr<::msif::PresetArgs > &args) override
Definition: trackCmdsImpl.hpp:42
virtual ~TrackCmdsImpl()
Definition: trackCmdsImpl.hpp:38
elt::mal::future< std::string > SetPointingOffset(const std::shared_ptr<::msif::RaDec > &args) override
Definition: trackCmdsImpl.hpp:89
elt::mal::future< std::string > SetObservingWavelength(double args) override
Definition: trackCmdsImpl.hpp:99
elt::mal::future< std::string > SetTargetAltAz(const std::shared_ptr<::msif::AltAz > &args) override
Definition: trackCmdsImpl.hpp:69
log4cplus::Logger & GetLogger()
Definition: logger.cpp:17
Coordinates conversion methods between equatorial and horizontal.
Definition: requestor.hpp:19