13#ifndef HLCC_TRKSIM_TRACK_CMDS_IMPL_HPP
14#define HLCC_TRKSIM_TRACK_CMDS_IMPL_HPP
16#include <trksim/trackCtrEvents.rad.hpp>
20#include <rad/exceptions.hpp>
21#include <rad/smAdapter.hpp>
31 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::Preset>();
32 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SkyOffset>();
33 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::VelocityOffset>();
34 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetTargetAltAz>();
35 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetPointingPosition>();
36 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetPointingOffset>();
37 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetObservingWavelength>();
38 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::Stop>();
46 elt::mal::future<std::string>
Preset(
const std::shared_ptr<::msif::PresetArgs>& args)
override {
48 LOG4CPLUS_INFO(
GetLogger(),
"Received Preset with: Ra " << args->getRa() <<
", Dec "
49 << args->getDec() <<
", Epoch " << args->getEpoch()
50 <<
", Rshift" << args->getRshift() <<
", Radvel " << args->getRadvel()
51 <<
", Parallax " << args->getParallax()
52 <<
", Proper_motion_ra " << args->getProper_motion_ra()
53 <<
", Proper_motion_dec " << args->getProper_motion_dec()
54 <<
", Velocity_offset_ra " << args->getVelocity_offset_ra()
55 <<
", Velocity_offset_dec " << args->getVelocity_offset_dec());
56 auto ev = std::make_shared<TrackCtrEvents::Preset>(args->clone());
59 return ev->GetPayload().GetReplyFuture();
62 elt::mal::future<std::string>
SkyOffset(
const std::shared_ptr<::msif::RaDec>& args)
override {
64 LOG4CPLUS_INFO(
GetLogger(),
"Received SkyOffset with: Ra " << args->getRa()
65 <<
", Dec " << args->getDec());
66 auto ev = std::make_shared<TrackCtrEvents::SkyOffset>(args->clone());
69 return ev->GetPayload().GetReplyFuture();
72 elt::mal::future<std::string>
VelocityOffset(
const std::shared_ptr<::msif::RaDec>& args)
override {
74 LOG4CPLUS_INFO(
GetLogger(),
"Received VelocityOffset with: Ra " << args->getRa()
75 <<
", Dec " << args->getDec());
76 auto ev = std::make_shared<TrackCtrEvents::VelocityOffset>(args->clone());
79 return ev->GetPayload().GetReplyFuture();
82 elt::mal::future<std::string>
SetTargetAltAz(
const std::shared_ptr<::msif::AltAz>& args)
override {
85 LOG4CPLUS_INFO(
GetLogger(),
"Received SetTargetAltAz with: Alt " << args->getAlt()
86 <<
", Az " << args->getAz());
87 auto ev = std::make_shared<TrackCtrEvents::SetTargetAltAz>(args->clone());
90 return ev->GetPayload().GetReplyFuture();
96 LOG4CPLUS_INFO(
GetLogger(),
"Received SetTargetAltAz with: X " << args->getX()
97 <<
", Y " << args->getY());
98 auto ev = std::make_shared<TrackCtrEvents::SetPointingPosition>(args->clone());
101 return ev->GetPayload().GetReplyFuture();
104 elt::mal::future<std::string>
SetPointingOffset(
const std::shared_ptr<::msif::RaDec>& args)
override {
107 LOG4CPLUS_INFO(
GetLogger(),
"Received SetPointingOffset with: Ra " << args->getRa()
108 <<
", Dec " << args->getDec());
110 auto ev = std::make_shared<TrackCtrEvents::SetPointingOffset>(args->clone());
113 return ev->GetPayload().GetReplyFuture();
118 LOG4CPLUS_INFO(
GetLogger(),
"Received SetObservingWavelength with: Wavelenght " << wavelenght);
120 auto ev = std::make_shared<TrackCtrEvents::SetObservingWavelength>(wavelenght);
123 return ev->GetPayload().GetReplyFuture();
126 elt::mal::future<std::string>
Stop()
override {
128 LOG4CPLUS_INFO(
GetLogger(),
"Received Stop");
129 auto ev = std::make_shared<TrackCtrEvents::Stop>();
132 return ev->GetPayload().GetReplyFuture();
149 rad::SMAdapter& m_sm;
Definition trackCmdsImpl.hpp:26
elt::mal::future< std::string > Stop() override
Definition trackCmdsImpl.hpp:126
TrackCmdsImpl(rad::SMAdapter &sm)
Definition trackCmdsImpl.hpp:28
elt::mal::future< std::string > VelocityOffset(const std::shared_ptr<::msif::RaDec > &args) override
Definition trackCmdsImpl.hpp:72
elt::mal::future< std::string > SkyOffset(const std::shared_ptr<::msif::RaDec > &args) override
Definition trackCmdsImpl.hpp:62
elt::mal::future< std::string > SetPointingPosition(const std::shared_ptr<::msif::XY > &args) override
Definition trackCmdsImpl.hpp:93
elt::mal::future< std::string > Preset(const std::shared_ptr<::msif::PresetArgs > &args) override
Definition trackCmdsImpl.hpp:46
elt::mal::future< std::string > SetObservingWavelength(double wavelenght) override
Definition trackCmdsImpl.hpp:116
virtual ~TrackCmdsImpl()
Definition trackCmdsImpl.hpp:42
elt::mal::future< std::string > SetPointingOffset(const std::shared_ptr<::msif::RaDec > &args) override
Definition trackCmdsImpl.hpp:104
elt::mal::future< std::string > SetTargetAltAz(const std::shared_ptr<::msif::AltAz > &args) override
Definition trackCmdsImpl.hpp:82
log4cplus::Logger & GetLogger()
Definition logger.cpp:21
Definition ccsinsoldb.hpp:10