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