1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace license 5 { 6 // clang-format off 7 8 enum class LicenseType{ 9 Invalid, 10 Production, 11 Prototype, 12 Trial, 13 }; 14 15 enum class AuthorizationScope{ 16 Invalid, 17 Device, 18 Capacity, 19 Service, 20 }; 21 22 enum class LicenseOrigin{ 23 Invalid, 24 BuiltIn, 25 Installed, 26 }; 27 28 NLOHMANN_JSON_SERIALIZE_ENUM(LicenseType, { 29 {LicenseType::Invalid, "Invalid"}, 30 {LicenseType::Production, "Production"}, 31 {LicenseType::Prototype, "Prototype"}, 32 {LicenseType::Trial, "Trial"}, 33 }); 34 35 NLOHMANN_JSON_SERIALIZE_ENUM(AuthorizationScope, { 36 {AuthorizationScope::Invalid, "Invalid"}, 37 {AuthorizationScope::Device, "Device"}, 38 {AuthorizationScope::Capacity, "Capacity"}, 39 {AuthorizationScope::Service, "Service"}, 40 }); 41 42 NLOHMANN_JSON_SERIALIZE_ENUM(LicenseOrigin, { 43 {LicenseOrigin::Invalid, "Invalid"}, 44 {LicenseOrigin::BuiltIn, "BuiltIn"}, 45 {LicenseOrigin::Installed, "Installed"}, 46 }); 47 48 } 49 // clang-format on 50