1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace license 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class LicenseType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous Production, 13853c0dc5SEd Tanous Prototype, 14853c0dc5SEd Tanous Trial, 15853c0dc5SEd Tanous }; 16853c0dc5SEd Tanous 17853c0dc5SEd Tanous enum class AuthorizationScope{ 18853c0dc5SEd Tanous Invalid, 19853c0dc5SEd Tanous Device, 20853c0dc5SEd Tanous Capacity, 21853c0dc5SEd Tanous Service, 22853c0dc5SEd Tanous }; 23853c0dc5SEd Tanous 24853c0dc5SEd Tanous enum class LicenseOrigin{ 25853c0dc5SEd Tanous Invalid, 26853c0dc5SEd Tanous BuiltIn, 27853c0dc5SEd Tanous Installed, 28853c0dc5SEd Tanous }; 29853c0dc5SEd Tanous 30853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LicenseType, { 31853c0dc5SEd Tanous {LicenseType::Invalid, "Invalid"}, 32853c0dc5SEd Tanous {LicenseType::Production, "Production"}, 33853c0dc5SEd Tanous {LicenseType::Prototype, "Prototype"}, 34853c0dc5SEd Tanous {LicenseType::Trial, "Trial"}, 35853c0dc5SEd Tanous }); 36853c0dc5SEd Tanous 37853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AuthorizationScope, { 38853c0dc5SEd Tanous {AuthorizationScope::Invalid, "Invalid"}, 39853c0dc5SEd Tanous {AuthorizationScope::Device, "Device"}, 40853c0dc5SEd Tanous {AuthorizationScope::Capacity, "Capacity"}, 41853c0dc5SEd Tanous {AuthorizationScope::Service, "Service"}, 42853c0dc5SEd Tanous }); 43853c0dc5SEd Tanous 44853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LicenseOrigin, { 45853c0dc5SEd Tanous {LicenseOrigin::Invalid, "Invalid"}, 46853c0dc5SEd Tanous {LicenseOrigin::BuiltIn, "BuiltIn"}, 47853c0dc5SEd Tanous {LicenseOrigin::Installed, "Installed"}, 48853c0dc5SEd Tanous }); 49853c0dc5SEd Tanous 50853c0dc5SEd Tanous } 51853c0dc5SEd Tanous // clang-format on 52