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