1 #pragma once
2 #include <nlohmann/json.hpp>
3 
4 namespace event
5 {
6 // clang-format off
7 
8 enum class EventType{
9     Invalid,
10     StatusChange,
11     ResourceUpdated,
12     ResourceAdded,
13     ResourceRemoved,
14     Alert,
15     MetricReport,
16     Other,
17 };
18 
19 enum class DiagnosticDataTypes{
20     Invalid,
21     Manager,
22     PreOS,
23     OS,
24     OEM,
25     CPER,
26     CPERSection,
27 };
28 
29 NLOHMANN_JSON_SERIALIZE_ENUM(EventType, {
30     {EventType::Invalid, "Invalid"},
31     {EventType::StatusChange, "StatusChange"},
32     {EventType::ResourceUpdated, "ResourceUpdated"},
33     {EventType::ResourceAdded, "ResourceAdded"},
34     {EventType::ResourceRemoved, "ResourceRemoved"},
35     {EventType::Alert, "Alert"},
36     {EventType::MetricReport, "MetricReport"},
37     {EventType::Other, "Other"},
38 });
39 
40 NLOHMANN_JSON_SERIALIZE_ENUM(DiagnosticDataTypes, {
41     {DiagnosticDataTypes::Invalid, "Invalid"},
42     {DiagnosticDataTypes::Manager, "Manager"},
43     {DiagnosticDataTypes::PreOS, "PreOS"},
44     {DiagnosticDataTypes::OS, "OS"},
45     {DiagnosticDataTypes::OEM, "OEM"},
46     {DiagnosticDataTypes::CPER, "CPER"},
47     {DiagnosticDataTypes::CPERSection, "CPERSection"},
48 });
49 
50 }
51 // clang-format on
52