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::UpdateTarget>();
33 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SkyOffset>();
34 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::VelocityOffset>();
35 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetTargetAltAz>();
36 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetPointingPosition>();
37 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetPointingOffset>();
38 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::SetObservingWavelength>();
39 m_sm.RegisterDefaultRequestRejectHandler<TrackCtrEvents::Stop>();
47 elt::mal::future<std::string>
Preset(
const std::shared_ptr<::ccscommonif::TargetData>& args)
override {
49 LOG4CPLUS_INFO(
GetLogger(),
"Received Preset with: Ra " << args->getRa() <<
", Dec "
50 << args->getDec() <<
", Epoch " << args->getEpoch()
51 <<
", Rshift" << args->getRshift() <<
", Radvel " << args->getRadvel()
52 <<
", Parallax " << args->getParallax()
53 <<
", Proper_motion_ra " << args->getProper_motion_ra()
54 <<
", Proper_motion_dec " << args->getProper_motion_dec()
55 <<
", Velocity_offset_ra " << args->getVelocity_offset_ra()
56 <<
", Velocity_offset_dec " << args->getVelocity_offset_dec()
57 <<
", Wavelength " << args->getWavelength()
58 <<
", Time_ephem_utc " << args->getTime_ephem_utc());
59 auto ev = std::make_shared<TrackCtrEvents::Preset>(args->clone());
62 return ev->GetPayload().GetReplyFuture();
65 elt::mal::future<std::string>
UpdateTarget(
const std::shared_ptr<::ccscommonif::TargetData>& args)
override {
68 LOG4CPLUS_INFO(
GetLogger(),
"Received UpdateTarget with: Ra " << args->getRa() <<
", Dec "
69 << args->getDec() <<
", Epoch " << args->getEpoch()
70 <<
", Rshift" << args->getRshift() <<
", Radvel " << args->getRadvel()
71 <<
", Parallax " << args->getParallax()
72 <<
", Proper_motion_ra " << args->getProper_motion_ra()
73 <<
", Proper_motion_dec " << args->getProper_motion_dec()
74 <<
", Velocity_offset_ra " << args->getVelocity_offset_ra()
75 <<
", Velocity_offset_dec " << args->getVelocity_offset_dec()
76 <<
", Wavelength " << args->getWavelength()
77 <<
", Time_ephem_utc " << args->getTime_ephem_utc());
79 auto ev = std::make_shared<TrackCtrEvents::UpdateTarget>(args->clone());
82 return ev->GetPayload().GetReplyFuture();
85 elt::mal::future<std::string>
SkyOffset(
const std::shared_ptr<::ccscommonif::RaDec>& args)
override {
87 LOG4CPLUS_INFO(
GetLogger(),
"Received SkyOffset with: Ra " << args->getRa()
88 <<
", Dec " << args->getDec());
89 auto ev = std::make_shared<TrackCtrEvents::SkyOffset>(args->clone());
92 return ev->GetPayload().GetReplyFuture();
95 elt::mal::future<std::string>
VelocityOffset(
const std::shared_ptr<::ccscommonif::RaDec>& args)
override {
97 LOG4CPLUS_INFO(
GetLogger(),
"Received VelocityOffset with: Ra " << args->getRa()
98 <<
", Dec " << args->getDec());
99 auto ev = std::make_shared<TrackCtrEvents::VelocityOffset>(args->clone());
102 return ev->GetPayload().GetReplyFuture();
105 elt::mal::future<std::string>
SetTargetAltAz(
const std::shared_ptr<::ccscommonif::AltAz>& args)
override {
108 LOG4CPLUS_INFO(
GetLogger(),
"Received SetTargetAltAz with: Alt " << args->getAlt()
109 <<
", Az " << args->getAz());
110 auto ev = std::make_shared<TrackCtrEvents::SetTargetAltAz>(args->clone());
113 return ev->GetPayload().GetReplyFuture();
119 LOG4CPLUS_INFO(
GetLogger(),
"Received SetTargetAltAz with: X " << args->getX()
120 <<
", Y " << args->getY());
121 auto ev = std::make_shared<TrackCtrEvents::SetPointingPosition>(args->clone());
124 return ev->GetPayload().GetReplyFuture();
127 elt::mal::future<std::string>
SetPointingOffset(
const std::shared_ptr<::msif::DeltaRaDec>& args)
override {
130 LOG4CPLUS_INFO(
GetLogger(),
"Received SetPointingOffset with: DeltaRa " << args->getDelta_ra()
131 <<
", DeltaDec " << args->getDelta_dec());
133 auto ev = std::make_shared<TrackCtrEvents::SetPointingOffset>(args->clone());
136 return ev->GetPayload().GetReplyFuture();
139 [[deprecated(
"SetObservingWavelength is Deprecated - Use UpdateTarget")]]
142 LOG4CPLUS_INFO(
GetLogger(),
"Received SetObservingWavelength with: Wavelenght " << wavelenght);
144 auto ev = std::make_shared<TrackCtrEvents::SetObservingWavelength>(wavelenght);
147 return ev->GetPayload().GetReplyFuture();
150 elt::mal::future<std::string>
Stop()
override {
152 LOG4CPLUS_INFO(
GetLogger(),
"Received Stop");
153 auto ev = std::make_shared<TrackCtrEvents::Stop>();
156 return ev->GetPayload().GetReplyFuture();
173 rad::SMAdapter& m_sm;
elt::mal::future< std::string > Stop() override
Definition trackCmdsImpl.hpp:150
TrackCmdsImpl(rad::SMAdapter &sm)
Definition trackCmdsImpl.hpp:28
elt::mal::future< std::string > SetTargetAltAz(const std::shared_ptr<::ccscommonif::AltAz > &args) override
Definition trackCmdsImpl.hpp:105
elt::mal::future< std::string > SkyOffset(const std::shared_ptr<::ccscommonif::RaDec > &args) override
Definition trackCmdsImpl.hpp:85
elt::mal::future< std::string > UpdateTarget(const std::shared_ptr<::ccscommonif::TargetData > &args) override
Definition trackCmdsImpl.hpp:65
elt::mal::future< std::string > SetPointingPosition(const std::shared_ptr<::msif::XY > &args) override
Definition trackCmdsImpl.hpp:116
elt::mal::future< std::string > VelocityOffset(const std::shared_ptr<::ccscommonif::RaDec > &args) override
Definition trackCmdsImpl.hpp:95
elt::mal::future< std::string > Preset(const std::shared_ptr<::ccscommonif::TargetData > &args) override
Definition trackCmdsImpl.hpp:47
elt::mal::future< std::string > SetObservingWavelength(double wavelenght) override
Definition trackCmdsImpl.hpp:140
elt::mal::future< std::string > SetPointingOffset(const std::shared_ptr<::msif::DeltaRaDec > &args) override
Definition trackCmdsImpl.hpp:127
virtual ~TrackCmdsImpl()
Definition trackCmdsImpl.hpp:43
Definition actionMgr.cpp:35
log4cplus::Logger & GetLogger()
Definition logger.cpp:21
Definition ccsinsoldb.hpp:10