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