1*853c0dc5SEd Tanous #pragma once 2*853c0dc5SEd Tanous #include <nlohmann/json.hpp> 3*853c0dc5SEd Tanous 4*853c0dc5SEd Tanous namespace manifest 5*853c0dc5SEd Tanous { 6*853c0dc5SEd Tanous // clang-format off 7*853c0dc5SEd Tanous 8*853c0dc5SEd Tanous enum class Expand{ 9*853c0dc5SEd Tanous Invalid, 10*853c0dc5SEd Tanous None, 11*853c0dc5SEd Tanous All, 12*853c0dc5SEd Tanous Relevant, 13*853c0dc5SEd Tanous }; 14*853c0dc5SEd Tanous 15*853c0dc5SEd Tanous enum class StanzaType{ 16*853c0dc5SEd Tanous Invalid, 17*853c0dc5SEd Tanous ComposeSystem, 18*853c0dc5SEd Tanous DecomposeSystem, 19*853c0dc5SEd Tanous ComposeResource, 20*853c0dc5SEd Tanous DecomposeResource, 21*853c0dc5SEd Tanous OEM, 22*853c0dc5SEd Tanous RegisterResourceBlock, 23*853c0dc5SEd Tanous }; 24*853c0dc5SEd Tanous 25*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Expand, { 26*853c0dc5SEd Tanous {Expand::Invalid, "Invalid"}, 27*853c0dc5SEd Tanous {Expand::None, "None"}, 28*853c0dc5SEd Tanous {Expand::All, "All"}, 29*853c0dc5SEd Tanous {Expand::Relevant, "Relevant"}, 30*853c0dc5SEd Tanous }); 31*853c0dc5SEd Tanous 32*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(StanzaType, { 33*853c0dc5SEd Tanous {StanzaType::Invalid, "Invalid"}, 34*853c0dc5SEd Tanous {StanzaType::ComposeSystem, "ComposeSystem"}, 35*853c0dc5SEd Tanous {StanzaType::DecomposeSystem, "DecomposeSystem"}, 36*853c0dc5SEd Tanous {StanzaType::ComposeResource, "ComposeResource"}, 37*853c0dc5SEd Tanous {StanzaType::DecomposeResource, "DecomposeResource"}, 38*853c0dc5SEd Tanous {StanzaType::OEM, "OEM"}, 39*853c0dc5SEd Tanous {StanzaType::RegisterResourceBlock, "RegisterResourceBlock"}, 40*853c0dc5SEd Tanous }); 41*853c0dc5SEd Tanous 42*853c0dc5SEd Tanous } 43*853c0dc5SEd Tanous // clang-format on 44