2016-06-15 23:48:41 +02:00
|
|
|
#ifndef EVENTOBJECT_EVENT_H_
|
|
|
|
#define EVENTOBJECT_EVENT_H_
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2022-02-02 10:29:30 +01:00
|
|
|
|
2020-08-13 20:53:35 +02:00
|
|
|
#include "fwSubsystemIdRanges.h"
|
2020-12-08 14:43:44 +01:00
|
|
|
// could be moved to more suitable location
|
2020-11-17 19:25:57 +01:00
|
|
|
#include <events/subsystemIdRanges.h>
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-03-11 14:25:01 +01:00
|
|
|
using EventId_t = uint16_t;
|
2022-03-14 15:08:45 +01:00
|
|
|
using EventSeverity_t = uint8_t;
|
2022-03-11 14:25:01 +01:00
|
|
|
using UniqueEventId_t = uint8_t;
|
|
|
|
|
|
|
|
namespace severity {
|
2022-03-14 15:08:45 +01:00
|
|
|
enum Severity : EventSeverity_t { INFO = 1, LOW = 2, MEDIUM = 3, HIGH = 4 };
|
2022-03-11 14:25:01 +01:00
|
|
|
|
|
|
|
} // namespace severity
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
#define MAKE_EVENT(id, severity) (((severity) << 16) + (SUBSYSTEM_ID * 100) + (id))
|
2016-06-15 23:48:41 +02:00
|
|
|
|
|
|
|
typedef uint32_t Event;
|
|
|
|
|
2020-12-08 14:43:44 +01:00
|
|
|
namespace event {
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
constexpr EventId_t getEventId(Event event) { return (event & 0xFFFF); }
|
2020-12-08 14:43:44 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
constexpr EventSeverity_t getSeverity(Event event) { return ((event >> 16) & 0xFF); }
|
2016-06-15 23:48:41 +02:00
|
|
|
|
2022-03-11 14:25:01 +01:00
|
|
|
constexpr Event makeEvent(uint8_t subsystemId, UniqueEventId_t uniqueEventId,
|
2022-02-02 10:29:30 +01:00
|
|
|
EventSeverity_t eventSeverity) {
|
|
|
|
return (eventSeverity << 16) + (subsystemId * 100) + uniqueEventId;
|
2016-06-15 23:48:41 +02:00
|
|
|
}
|
2020-12-01 17:44:36 +01:00
|
|
|
|
2022-02-02 10:29:30 +01:00
|
|
|
} // namespace event
|
2016-06-15 23:48:41 +02:00
|
|
|
|
|
|
|
#endif /* EVENTOBJECT_EVENT_H_ */
|