HLCC Documentation 2.2.0
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
99 void SkyOffset(scxml4cpp::Context * c);
100
110 void SetObservingWavelength(scxml4cpp::Context * c);
111
118 void StopTracking(scxml4cpp::Context * c);
119
129 void LoadConfiguration(scxml4cpp::Context* c);
130
133
134 private:
135 rad::Application& m_appl;
136 ActionMgr& m_action_mgr;
137 DataContext& m_data;
138
145
151
158 std::string GetMsTrackCtrAppName();
159
177 template <typename INTERFACE_TYPE>
178 bool ConnectLsv(std::string lsv_name, hlcc::cpputil::Requestor<INTERFACE_TYPE>& requestor);
179
195 static std::string GetReplyString(
196 elt::mal::future<std::string> fut_ms,
197 std::string remote_method_name );
198
199};
200
201} // namespace hlcc::eltpk
202
203#endif // HLCC_TELIF_ELTPK_ACTIONCOMMANDS_HPP
Definition requestor.hpp:36
Definition actionMgr.hpp:27
Definition actionsCommands.hpp:37
void StopTracking(scxml4cpp::Context *c)
Definition actionsCommands.cpp:436
void Preset(scxml4cpp::Context *c)
Definition actionsCommands.cpp:211
void SetObservingWavelength(scxml4cpp::Context *c)
Definition actionsCommands.cpp:394
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.
void SkyOffset(scxml4cpp::Context *c)
Definition actionsCommands.cpp:307
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:495
ActionsCommands(rad::Application &sm, ActionMgr &action_mgr, DataContext &data)
Definition actionsCommands.cpp:42
void StopInit(scxml4cpp::Context *c)
Definition actionsCommands.cpp:106
Definition dataContext.hpp:125
Definition actionMgr.cpp:31
elt::mal::future< T > future
Definition actionsCommands.cpp:103
ccsinsdetifllnetio::PointingKernelPositions data
Definition pkp_llnetio_subscriber.cpp:33
Requestor class header file.