1#ifndef SUPERVISED_ENTITY_H
2#define SUPERVISED_ENTITY_H
6#include "../core/instance_specifier.h"
7#include "./checkpoint_communicator.h"
37 template <
typename EnumT>
40 constexpr const bool cIsSame{
41 std::is_same<std::underlying_type_t<EnumT>, uint32_t>::value};
44 auto _checkpoint{
static_cast<uint32_t
>(checkpointId)};
45 mCommunicator->
TrySend(_checkpoint);
AUTOSAR shortname-path wrapper.
Definition: instance_specifier.h:14
An abstract class to communicate a checkpoint between an application and the PHM cluster.
Definition: checkpoint_communicator.h:15
virtual bool TrySend(uint32_t checkpoint)=0
Try to send a checkpoint occurrence.
A class that collects and reports supervision checkpoints.
Definition: supervised_entity.h:16
SupervisedEntity(const core::InstanceSpecifier &instance, CheckpointCommunicator *communicator)
Constructor.
Definition: supervised_entity.cpp:9
void ReportCheckpoint(EnumT checkpointId)
Report a checkpoint to the PHM functional cluster.
Definition: supervised_entity.h:38