#ifndef MONITORINGMESSAGE_H_
#define MONITORINGMESSAGE_H_

#include <framework/ipc/CommandMessage.h>
#include <framework/storagemanager/StorageManagerIF.h>

class MonitoringMessage: public CommandMessage {
public:
	static const uint8_t MESSAGE_ID = MESSAGE_TYPE::MONITORING;
	//Object id could be useful, but we better manage that on service level (register potential reporters).
	static const Command_t LIMIT_VIOLATION_REPORT = MAKE_COMMAND_ID(10);
	virtual ~MonitoringMessage();
	static void setLimitViolationReport(CommandMessage* message, store_address_t storeId);
	static void clear(CommandMessage* message);
	static store_address_t getStoreId(const CommandMessage* message);
	static void setTypicalMessage(CommandMessage* message, Command_t type, store_address_t storeId);

};


#endif /* MONITORINGMESSAGE_H_ */