#ifndef FSFW_HEALTH_HEALTHMESSAGE_H_ #define FSFW_HEALTH_HEALTHMESSAGE_H_ #include "HasHealthIF.h" #include "../ipc/CommandMessage.h" class HealthMessage { public: static const uint8_t MESSAGE_ID = messagetypes::HEALTH_COMMAND; static const Command_t HEALTH_SET = MAKE_COMMAND_ID(1); // No reply expected, health will be announced as event! static const Command_t HEALTH_ANNOUNCE = MAKE_COMMAND_ID(2); // Same as before, but all objects in health table will // announce their health as events. static const Command_t HEALTH_ANNOUNCE_ALL = MAKE_COMMAND_ID(3); static const Command_t HEALTH_INFO = MAKE_COMMAND_ID(5); static const Command_t REPLY_HEALTH_SET = MAKE_COMMAND_ID(6); static void setHealthMessage(CommandMessage *message, Command_t command, HasHealthIF::HealthState health, HasHealthIF::HealthState oldHealth = HasHealthIF::FAULTY); static void setHealthMessage(CommandMessage *message, Command_t command); static HasHealthIF::HealthState getHealth(const CommandMessage *message); static HasHealthIF::HealthState getOldHealth(const CommandMessage *message); static void clear(CommandMessage *message); private: HealthMessage(); }; #endif /* FSFW_HEALTH_HEALTHMESSAGE_H_ */