#ifndef HEALTHTABLE_H_ #define HEALTHTABLE_H_ #include "HealthTableIF.h" #include "../objectmanager/SystemObject.h" #include "../ipc/MutexIF.h" #include typedef std::map HealthMap; class HealthTable: public HealthTableIF, public SystemObject { public: HealthTable(object_id_t objectid); virtual ~HealthTable(); virtual ReturnValue_t registerObject(object_id_t object, HasHealthIF::HealthState initilialState = HasHealthIF::HEALTHY); virtual bool hasHealth(object_id_t object); virtual void setHealth(object_id_t object, HasHealthIF::HealthState newState); virtual HasHealthIF::HealthState getHealth(object_id_t); virtual uint32_t getPrintSize(); virtual void printAll(uint8_t *pointer, size_t maxSize); protected: MutexIF* mutex; HealthMap healthMap; HealthMap::iterator mapIterator; virtual ReturnValue_t iterate(std::pair *value, bool reset = false); }; #endif /* HEALTHTABLE_H_ */