1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace software_inventory 5 { 6 // clang-format off 7 8 enum class VersionScheme{ 9 Invalid, 10 SemVer, 11 DotIntegerNotation, 12 OEM, 13 }; 14 15 enum class ReleaseType{ 16 Invalid, 17 Production, 18 Prototype, 19 Other, 20 }; 21 22 NLOHMANN_JSON_SERIALIZE_ENUM(VersionScheme, { 23 {VersionScheme::Invalid, "Invalid"}, 24 {VersionScheme::SemVer, "SemVer"}, 25 {VersionScheme::DotIntegerNotation, "DotIntegerNotation"}, 26 {VersionScheme::OEM, "OEM"}, 27 }); 28 29 NLOHMANN_JSON_SERIALIZE_ENUM(ReleaseType, { 30 {ReleaseType::Invalid, "Invalid"}, 31 {ReleaseType::Production, "Production"}, 32 {ReleaseType::Prototype, "Prototype"}, 33 {ReleaseType::Other, "Other"}, 34 }); 35 36 } 37 // clang-format on 38