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