1#ifndef ELEMENTARY_SUPERVISION_H
2#define ELEMENTARY_SUPERVISION_H
6#include "../recovery_action.h"
An abstract class the enables a supervision method to report its elementary supervion status.
Definition: elementary_supervision.h:26
SupervisionStatus GetStatus() const noexcept
Get the supervision status.
Definition: elementary_supervision.cpp:52
void SetCallback(std::function< void(SupervisionStatus)> &&callback)
Set a callback to be invoked on the supervision status change.
Definition: elementary_supervision.cpp:62
void Report(SupervisionStatus status)
Report the new supervision status.
Definition: elementary_supervision.cpp:17
ElementarySupervision(TypeOfSupervision supervisionType) noexcept
Constructor.
Definition: elementary_supervision.cpp:10
TypeOfSupervision GetType() const noexcept
Get the type of supervision.
Definition: elementary_supervision.cpp:57
SupervisionStatus
Supervision finite state machine status.
Definition: elementary_supervision.h:17
@ kFailed
!< Supervision is correct
@ kExpired
!< Supervision is incorrect but does not exceed the tolerance
@ kOk
!< Supervision has not been started or has been terminated
TypeOfSupervision
Supervision algorithm type.
Definition: recovery_action.h:14