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