HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
actionsGuards.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_TRKSIM_ACTIONGUARDS_HPP
14#define HLCC_TRKSIM_ACTIONGUARDS_HPP
15
16#include <rad/configurableActionGroup.hpp>
17#include <rad/application.hpp>
18
19
20namespace hlcc::trksim {
21
22class DataContext;
23class ActionMgr;
24
32class ActionsGuards : public rad::ConfigurableActionGroup {
33 public:
40 ActionsGuards(rad::Application& sm, DataContext& data);
41
46 void Initialize() override;
47
54 void Configure(const std::vector<std::string>& keys) override;
55
60 bool EstimatedStateIsTracking(scxml4cpp::Context * c);
61
62 bool EstimatedStateIsPresettingRaDec(scxml4cpp::Context * c);
63 bool EstimatedStateIsStandStill(scxml4cpp::Context * c);
64 bool EstimatedStateIsTrackingUnexpected(scxml4cpp::Context * c);
65 bool EstimatedStateIsStandStillUnexpected(scxml4cpp::Context * c);
66 bool EstimatedStateIsMoving(scxml4cpp::Context * c);
67
73 bool IsPresetAllowed(scxml4cpp::Context* c);
74
75 ActionsGuards(const ActionsGuards&) = delete;
77
78 private:
79 rad::Application& m_appl;
80 DataContext& m_data;
81
95 bool IsAlreadyInState(const std::string& leaf_state_name) const;
96};
97
98} // namespace hlcc::trksim
99
100#endif // HLCC_TRKSIM_ACTIONGUARDS_HPP
Definition actionsGuards.hpp:32
ActionsGuards & operator=(const ActionsGuards &)=delete
Disable copy constructor.
void Initialize() override
Definition actionsGuards.cpp:141
bool EstimatedStateIsTracking(scxml4cpp::Context *c)
Definition actionsGuards.cpp:33
bool IsPresetAllowed(scxml4cpp::Context *c)
Definition actionsGuards.cpp:103
ActionsGuards(rad::Application &sm, DataContext &data)
Definition actionsGuards.cpp:25
bool EstimatedStateIsStandStillUnexpected(scxml4cpp::Context *c)
Definition actionsGuards.cpp:78
void Configure(const std::vector< std::string > &keys) override
Definition actionsGuards.cpp:145
ActionsGuards(const ActionsGuards &)=delete
bool EstimatedStateIsMoving(scxml4cpp::Context *c)
Definition actionsGuards.cpp:92
bool EstimatedStateIsTrackingUnexpected(scxml4cpp::Context *c)
Definition actionsGuards.cpp:66
bool EstimatedStateIsPresettingRaDec(scxml4cpp::Context *c)
Definition actionsGuards.cpp:44
bool EstimatedStateIsStandStill(scxml4cpp::Context *c)
Definition actionsGuards.cpp:55
Definition dataContext.hpp:52
Definition actionMgr.cpp:35
ccsinsdetifllnetio::PointingKernelPositions data
Definition pkp_llnetio_subscriber.cpp:33