| #pragma once |
| #include <cstdint> |
| #include <nlohmann/json.hpp> |
| |
| namespace memory_chunks |
| { |
| // clang-format off |
| |
| enum class AddressRangeType : std::uint8_t{ |
| Invalid, |
| Volatile, |
| PMEM, |
| Block, |
| }; |
| |
| enum class MediaLocation : std::uint8_t{ |
| Invalid, |
| Local, |
| Remote, |
| Mixed, |
| }; |
| |
| enum class OperationalState : std::uint8_t{ |
| Invalid, |
| Online, |
| Offline, |
| }; |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(AddressRangeType, { |
| {AddressRangeType::Invalid, "Invalid"}, |
| {AddressRangeType::Volatile, "Volatile"}, |
| {AddressRangeType::PMEM, "PMEM"}, |
| {AddressRangeType::Block, "Block"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(MediaLocation, { |
| {MediaLocation::Invalid, "Invalid"}, |
| {MediaLocation::Local, "Local"}, |
| {MediaLocation::Remote, "Remote"}, |
| {MediaLocation::Mixed, "Mixed"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(OperationalState, { |
| {OperationalState::Invalid, "Invalid"}, |
| {OperationalState::Online, "Online"}, |
| {OperationalState::Offline, "Offline"}, |
| }); |
| |
| } // namespace memory_chunks |
| // clang-format on |