1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace connection 5 { 6 // clang-format off 7 8 enum class ConnectionType{ 9 Invalid, 10 Storage, 11 Memory, 12 }; 13 14 enum class AccessCapability{ 15 Invalid, 16 Read, 17 Write, 18 }; 19 20 enum class AccessState{ 21 Invalid, 22 Optimized, 23 NonOptimized, 24 Standby, 25 Unavailable, 26 Transitioning, 27 }; 28 29 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectionType, { 30 {ConnectionType::Invalid, "Invalid"}, 31 {ConnectionType::Storage, "Storage"}, 32 {ConnectionType::Memory, "Memory"}, 33 }); 34 35 NLOHMANN_JSON_SERIALIZE_ENUM(AccessCapability, { 36 {AccessCapability::Invalid, "Invalid"}, 37 {AccessCapability::Read, "Read"}, 38 {AccessCapability::Write, "Write"}, 39 }); 40 41 NLOHMANN_JSON_SERIALIZE_ENUM(AccessState, { 42 {AccessState::Invalid, "Invalid"}, 43 {AccessState::Optimized, "Optimized"}, 44 {AccessState::NonOptimized, "NonOptimized"}, 45 {AccessState::Standby, "Standby"}, 46 {AccessState::Unavailable, "Unavailable"}, 47 {AccessState::Transitioning, "Transitioning"}, 48 }); 49 50 } 51 // clang-format on 52