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 manifest 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class Expand{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous None, 13853c0dc5SEd Tanous All, 14853c0dc5SEd Tanous Relevant, 15853c0dc5SEd Tanous }; 16853c0dc5SEd Tanous 17853c0dc5SEd Tanous enum class StanzaType{ 18853c0dc5SEd Tanous Invalid, 19853c0dc5SEd Tanous ComposeSystem, 20853c0dc5SEd Tanous DecomposeSystem, 21853c0dc5SEd Tanous ComposeResource, 22853c0dc5SEd Tanous DecomposeResource, 23853c0dc5SEd Tanous OEM, 24853c0dc5SEd Tanous RegisterResourceBlock, 25853c0dc5SEd Tanous }; 26853c0dc5SEd Tanous 27853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Expand, { 28853c0dc5SEd Tanous {Expand::Invalid, "Invalid"}, 29853c0dc5SEd Tanous {Expand::None, "None"}, 30853c0dc5SEd Tanous {Expand::All, "All"}, 31853c0dc5SEd Tanous {Expand::Relevant, "Relevant"}, 32853c0dc5SEd Tanous }); 33853c0dc5SEd Tanous 34853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(StanzaType, { 35853c0dc5SEd Tanous {StanzaType::Invalid, "Invalid"}, 36853c0dc5SEd Tanous {StanzaType::ComposeSystem, "ComposeSystem"}, 37853c0dc5SEd Tanous {StanzaType::DecomposeSystem, "DecomposeSystem"}, 38853c0dc5SEd Tanous {StanzaType::ComposeResource, "ComposeResource"}, 39853c0dc5SEd Tanous {StanzaType::DecomposeResource, "DecomposeResource"}, 40853c0dc5SEd Tanous {StanzaType::OEM, "OEM"}, 41853c0dc5SEd Tanous {StanzaType::RegisterResourceBlock, "RegisterResourceBlock"}, 42853c0dc5SEd Tanous }); 43853c0dc5SEd Tanous 44853c0dc5SEd Tanous } 45853c0dc5SEd Tanous // clang-format on 46