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