| #pragma once |
| #include <cstdint> |
| #include <nlohmann/json.hpp> |
| |
| namespace manifest |
| { |
| // clang-format off |
| |
| enum class Expand : std::uint8_t{ |
| Invalid, |
| None, |
| All, |
| Relevant, |
| }; |
| |
| enum class StanzaType : std::uint8_t{ |
| Invalid, |
| ComposeSystem, |
| DecomposeSystem, |
| ComposeResource, |
| DecomposeResource, |
| OEM, |
| RegisterResourceBlock, |
| }; |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(Expand, { |
| {Expand::Invalid, "Invalid"}, |
| {Expand::None, "None"}, |
| {Expand::All, "All"}, |
| {Expand::Relevant, "Relevant"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(StanzaType, { |
| {StanzaType::Invalid, "Invalid"}, |
| {StanzaType::ComposeSystem, "ComposeSystem"}, |
| {StanzaType::DecomposeSystem, "DecomposeSystem"}, |
| {StanzaType::ComposeResource, "ComposeResource"}, |
| {StanzaType::DecomposeResource, "DecomposeResource"}, |
| {StanzaType::OEM, "OEM"}, |
| {StanzaType::RegisterResourceBlock, "RegisterResourceBlock"}, |
| }); |
| |
| } // namespace manifest |
| // clang-format on |