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