HLCC Documentation 3.0.1
Loading...
Searching...
No Matches
actionsCommands.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_TELIF_ELTPK_ACTIONCOMMANDS_HPP
14#define HLCC_TELIF_ELTPK_ACTIONCOMMANDS_HPP
15
16#include <rad/configurableActionGroup.hpp>
17#include <rad/application.hpp>
18#include <rad/mal/request.hpp>
19
20#include <Msif.hpp>
21#include <Pfsif.hpp>
22#include "Ccsinsif.hpp"
24
25
26namespace hlcc::eltpk {
27
28class DataContext;
29class ActionMgr;
30
37class ActionsCommands : public rad::ConfigurableActionGroup {
38 public:
46 ActionsCommands(rad::Application& sm, ActionMgr& action_mgr, DataContext& data);
47
52 void Initialize() override;
53
60 void Configure(const std::vector<std::string>& keys) override;
61
62
70 void StopInit(scxml4cpp::Context * c);
71
79 void MovingTo(scxml4cpp::Context * c);
80
85 void StopMoving(scxml4cpp::Context* c);
86
94 void Preset(scxml4cpp::Context * c);
95
101 void UpdateTarget(scxml4cpp::Context * c);
102
112 [[deprecated("SetObservingWavelength is Deprecated - Use UpdateTarget")]]
113 void SetObservingWavelength(scxml4cpp::Context * c);
114
121 void StopTracking(scxml4cpp::Context * c);
122
132 void LoadConfiguration(scxml4cpp::Context* c);
133
136
137 private:
138 rad::Application& m_appl;
139 ActionMgr& m_action_mgr;
140 DataContext& m_data;
141
148
154
161 std::string GetMsTrackCtrAppName();
162
180 template <typename INTERFACE_TYPE>
181 bool ConnectLsv(std::string lsv_name, hlcc::cpputil::Requestor<INTERFACE_TYPE>& requestor);
182
198 static std::string GetReplyString(
199 elt::mal::future<std::string> fut_ms,
200 std::string remote_method_name );
201
202};
203
204} // namespace hlcc::eltpk
205
206#endif // HLCC_TELIF_ELTPK_ACTIONCOMMANDS_HPP
Definition requestor.hpp:39
Definition actionMgr.hpp:27
void StopTracking(scxml4cpp::Context *c)
Definition actionsCommands.cpp:354
void Preset(scxml4cpp::Context *c)
Definition actionsCommands.cpp:211
void SetObservingWavelength(scxml4cpp::Context *c)
Definition actionsCommands.cpp:312
void StopMoving(scxml4cpp::Context *c)
Definition actionsCommands.cpp:182
void MovingTo(scxml4cpp::Context *c)
Definition actionsCommands.cpp:121
void Initialize() override
Definition actionsCommands.cpp:53
ActionsCommands & operator=(const ActionsCommands &)=delete
Disable copy constructor.
ActionsCommands(const ActionsCommands &)=delete
void Configure(const std::vector< std::string > &keys) override
Definition actionsCommands.cpp:57
void LoadConfiguration(scxml4cpp::Context *c)
Definition actionsCommands.cpp:413
ActionsCommands(rad::Application &sm, ActionMgr &action_mgr, DataContext &data)
Definition actionsCommands.cpp:42
void UpdateTarget(scxml4cpp::Context *c)
Definition actionsCommands.cpp:294
void StopInit(scxml4cpp::Context *c)
Definition actionsCommands.cpp:106
Definition dataContext.hpp:108
Definition actionMgr.cpp:31
ccsinsdetifllnetio::PointingKernelPositions data
Definition pkp_llnetio_subscriber.cpp:29
Requestor class header file.