2020-10-29 17:52:28 +01:00
|
|
|
#ifndef FSFW_HEALTH_HEALTHTABLEIF_H_
|
|
|
|
#define FSFW_HEALTH_HEALTHTABLEIF_H_
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
#include <utility>
|
|
|
|
|
2020-08-13 20:53:35 +02:00
|
|
|
#include "../objectmanager/ObjectManagerIF.h"
|
2022-08-16 12:48:22 +02:00
|
|
|
#include "../returnvalues/returnvalue.h"
|
2022-02-02 10:29:30 +01:00
|
|
|
#include "ManagesHealthIF.h"
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
class HealthTableIF : public ManagesHealthIF {
|
|
|
|
public:
|
|
|
|
virtual ~HealthTableIF() {}
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
virtual ReturnValue_t registerObject(
|
|
|
|
object_id_t object, HasHealthIF::HealthState initilialState = HasHealthIF::HEALTHY) = 0;
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-06-05 12:52:55 +02:00
|
|
|
virtual ReturnValue_t removeObject(object_id_t objectId) = 0;
|
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
virtual size_t getPrintSize() = 0;
|
|
|
|
virtual void printAll(uint8_t *pointer, size_t maxSize) = 0;
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
protected:
|
|
|
|
virtual ReturnValue_t iterate(std::pair<object_id_t, HasHealthIF::HealthState> *value,
|
|
|
|
bool reset = false) = 0;
|
2016-06-15 23:48:41 +02:00
|
|
|
};
|
|
|
|
|
2020-10-29 17:52:28 +01:00
|
|
|
#endif /* FRAMEWORK_HEALTH_HEALTHTABLEIF_H_ */
|