#ifndef EVENTOBJECT_EVENT_H_ #define EVENTOBJECT_EVENT_H_ #include #include "fwSubsystemIdRanges.h" // could be moved to more suitable location #include typedef uint16_t EventId_t; typedef uint8_t EventSeverity_t; #define MAKE_EVENT(id, severity) (((severity)<<16)+(SUBSYSTEM_ID*100)+(id)) typedef uint32_t Event; namespace event { constexpr EventId_t getEventId(Event event) { return (event & 0xFFFF); } constexpr EventSeverity_t getSeverity(Event event) { return ((event >> 16) & 0xFF); } constexpr Event makeEvent(uint8_t subsystemId, uint8_t uniqueEventId, EventSeverity_t eventSeverity) { return (eventSeverity << 16) + (subsystemId * 100) + uniqueEventId; } } namespace severity { static constexpr EventSeverity_t INFO = 1; static constexpr EventSeverity_t LOW = 2; static constexpr EventSeverity_t MEDIUM = 3; static constexpr EventSeverity_t HIGH = 4; } #endif /* EVENTOBJECT_EVENT_H_ */