1*0ec8b83dSEd Tanous #pragma once 2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp> 3*0ec8b83dSEd Tanous 4*0ec8b83dSEd Tanous namespace log_entry 5*0ec8b83dSEd Tanous { 6*0ec8b83dSEd Tanous // clang-format off 7*0ec8b83dSEd Tanous 8*0ec8b83dSEd Tanous enum class EventSeverity{ 9*0ec8b83dSEd Tanous Invalid, 10*0ec8b83dSEd Tanous OK, 11*0ec8b83dSEd Tanous Warning, 12*0ec8b83dSEd Tanous Critical, 13*0ec8b83dSEd Tanous }; 14*0ec8b83dSEd Tanous 15*0ec8b83dSEd Tanous enum class LogEntryType{ 16*0ec8b83dSEd Tanous Invalid, 17*0ec8b83dSEd Tanous Event, 18*0ec8b83dSEd Tanous SEL, 19*0ec8b83dSEd Tanous Oem, 20*0ec8b83dSEd Tanous }; 21*0ec8b83dSEd Tanous 22*0ec8b83dSEd Tanous enum class LogDiagnosticDataTypes{ 23*0ec8b83dSEd Tanous Invalid, 24*0ec8b83dSEd Tanous Manager, 25*0ec8b83dSEd Tanous PreOS, 26*0ec8b83dSEd Tanous OS, 27*0ec8b83dSEd Tanous OEM, 28*0ec8b83dSEd Tanous CPER, 29*0ec8b83dSEd Tanous CPERSection, 30*0ec8b83dSEd Tanous }; 31*0ec8b83dSEd Tanous 32*0ec8b83dSEd Tanous enum class OriginatorTypes{ 33*0ec8b83dSEd Tanous Invalid, 34*0ec8b83dSEd Tanous Client, 35*0ec8b83dSEd Tanous Internal, 36*0ec8b83dSEd Tanous SupportingService, 37*0ec8b83dSEd Tanous }; 38*0ec8b83dSEd Tanous 39*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EventSeverity, { 40*0ec8b83dSEd Tanous {EventSeverity::Invalid, "Invalid"}, 41*0ec8b83dSEd Tanous {EventSeverity::OK, "OK"}, 42*0ec8b83dSEd Tanous {EventSeverity::Warning, "Warning"}, 43*0ec8b83dSEd Tanous {EventSeverity::Critical, "Critical"}, 44*0ec8b83dSEd Tanous }); 45*0ec8b83dSEd Tanous 46*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LogEntryType, { 47*0ec8b83dSEd Tanous {LogEntryType::Invalid, "Invalid"}, 48*0ec8b83dSEd Tanous {LogEntryType::Event, "Event"}, 49*0ec8b83dSEd Tanous {LogEntryType::SEL, "SEL"}, 50*0ec8b83dSEd Tanous {LogEntryType::Oem, "Oem"}, 51*0ec8b83dSEd Tanous }); 52*0ec8b83dSEd Tanous 53*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LogDiagnosticDataTypes, { 54*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::Invalid, "Invalid"}, 55*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::Manager, "Manager"}, 56*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::PreOS, "PreOS"}, 57*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::OS, "OS"}, 58*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::OEM, "OEM"}, 59*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::CPER, "CPER"}, 60*0ec8b83dSEd Tanous {LogDiagnosticDataTypes::CPERSection, "CPERSection"}, 61*0ec8b83dSEd Tanous }); 62*0ec8b83dSEd Tanous 63*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OriginatorTypes, { 64*0ec8b83dSEd Tanous {OriginatorTypes::Invalid, "Invalid"}, 65*0ec8b83dSEd Tanous {OriginatorTypes::Client, "Client"}, 66*0ec8b83dSEd Tanous {OriginatorTypes::Internal, "Internal"}, 67*0ec8b83dSEd Tanous {OriginatorTypes::SupportingService, "SupportingService"}, 68*0ec8b83dSEd Tanous }); 69*0ec8b83dSEd Tanous 70*0ec8b83dSEd Tanous } 71*0ec8b83dSEd Tanous // clang-format on 72