13#ifndef RTCTK_RTCSUPERVISOR_STATUSESTIMATOR_HPP
14#define RTCTK_RTCSUPERVISOR_STATUSESTIMATOR_HPP
66bool Contains(
const std::string&
cont,
const std::string& item);
67bool ContainsAny(
const std::string&
cont,
const std::set<std::string>& item);
68bool Contains(
const std::map<std::string, std::string>&
cont,
const std::string& item);
69bool ContainsAny(
const std::map<std::string, std::string>&
cont,
const std::set<std::string>& item);
98 std::string
EstimateStatus(
const std::string& name,
const std::string& state);
Class for system status estimation.
Definition statusEstimator.hpp:74
StatusEstimator()
Definition statusEstimator.cpp:19
std::map< std::string, std::string > m_prev_states
Definition statusEstimator.hpp:118
std::string EstimateStatus(const std::string &name, const std::string &state)
Public method to estimate system status.
Definition statusEstimator.cpp:28
std::map< std::string, std::string > m_states
Definition statusEstimator.hpp:117
virtual std::string ApplyEstimationHeuristic(const std::map< std::string, std::string > &states)
The actual system status estimation algorithm.
Definition statusEstimator.cpp:37
std::string m_prev_status
Definition statusEstimator.hpp:119
virtual ~StatusEstimator()=default
void Reset()
Reset internal state of the StatusEstimator object.
Definition statusEstimator.cpp:22
elt::mal::future< std::string > InjectReqRepEvent(StateMachineEngine &engine)
Definition malEventInjector.hpp:23
Definition rtcSupervisor.cpp:24
constexpr auto STATUS_IDLE
Definition statusEstimator.hpp:48
constexpr auto STATUS_NOT_READY
Definition statusEstimator.hpp:45
bool Contains(const std::string &cont, const std::string &item)
Definition statusEstimator.cpp:69
constexpr auto STATE_READY
Definition statusEstimator.hpp:27
constexpr auto STATE_STARTING
Definition statusEstimator.hpp:24
constexpr auto STATUS_LOOP_CLOSED
Definition statusEstimator.hpp:50
constexpr auto STATE_GOING_IDLE
Definition statusEstimator.hpp:33
constexpr auto STATE_ENABLING
Definition statusEstimator.hpp:28
constexpr auto STATUS_ERROR
Definition statusEstimator.hpp:51
constexpr auto STATE_LOOP_SUSPENDED
Definition statusEstimator.hpp:36
constexpr auto STATE_LOOP_SUSPENDING
Definition statusEstimator.hpp:37
constexpr auto STATE_ERROR
Definition statusEstimator.hpp:39
constexpr auto STATE_IDLE
Definition statusEstimator.hpp:30
constexpr auto STATUS_OFF
Definition statusEstimator.hpp:44
constexpr auto STATE_NOT_READY
Definition statusEstimator.hpp:25
constexpr auto STATE_LOOP_CLOSED
Definition statusEstimator.hpp:35
constexpr auto STATE_LOOP_RESUMING
Definition statusEstimator.hpp:38
constexpr auto STATUS_INITIALISING
Definition statusEstimator.hpp:46
constexpr auto STATUS_LOOP_OPENED
Definition statusEstimator.hpp:49
bool ContainsAny(const std::string &cont, const std::set< std::string > &item)
Definition statusEstimator.cpp:73
constexpr auto STATE_LOOP_OPENED
Definition statusEstimator.hpp:34
constexpr auto STATE_INITIALISING
Definition statusEstimator.hpp:26
constexpr auto STATE_RECOVERING
Definition statusEstimator.hpp:40
constexpr auto STATE_DISABLING
Definition statusEstimator.hpp:29
constexpr auto STATE_GOING_RUNNING
Definition statusEstimator.hpp:32
constexpr auto STATE_RUNNING
Definition statusEstimator.hpp:31
constexpr auto STATE_OFF
Definition statusEstimator.hpp:23
constexpr auto STATUS_READY
Definition statusEstimator.hpp:47