1*853c0dc5SEd Tanous #pragma once 2*853c0dc5SEd Tanous #include <nlohmann/json.hpp> 3*853c0dc5SEd Tanous 4*853c0dc5SEd Tanous namespace endpoint_group 5*853c0dc5SEd Tanous { 6*853c0dc5SEd Tanous // clang-format off 7*853c0dc5SEd Tanous 8*853c0dc5SEd Tanous enum class AccessState{ 9*853c0dc5SEd Tanous Invalid, 10*853c0dc5SEd Tanous Optimized, 11*853c0dc5SEd Tanous NonOptimized, 12*853c0dc5SEd Tanous Standby, 13*853c0dc5SEd Tanous Unavailable, 14*853c0dc5SEd Tanous Transitioning, 15*853c0dc5SEd Tanous }; 16*853c0dc5SEd Tanous 17*853c0dc5SEd Tanous enum class GroupType{ 18*853c0dc5SEd Tanous Invalid, 19*853c0dc5SEd Tanous Client, 20*853c0dc5SEd Tanous Server, 21*853c0dc5SEd Tanous Initiator, 22*853c0dc5SEd Tanous Target, 23*853c0dc5SEd Tanous }; 24*853c0dc5SEd Tanous 25*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccessState, { 26*853c0dc5SEd Tanous {AccessState::Invalid, "Invalid"}, 27*853c0dc5SEd Tanous {AccessState::Optimized, "Optimized"}, 28*853c0dc5SEd Tanous {AccessState::NonOptimized, "NonOptimized"}, 29*853c0dc5SEd Tanous {AccessState::Standby, "Standby"}, 30*853c0dc5SEd Tanous {AccessState::Unavailable, "Unavailable"}, 31*853c0dc5SEd Tanous {AccessState::Transitioning, "Transitioning"}, 32*853c0dc5SEd Tanous }); 33*853c0dc5SEd Tanous 34*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GroupType, { 35*853c0dc5SEd Tanous {GroupType::Invalid, "Invalid"}, 36*853c0dc5SEd Tanous {GroupType::Client, "Client"}, 37*853c0dc5SEd Tanous {GroupType::Server, "Server"}, 38*853c0dc5SEd Tanous {GroupType::Initiator, "Initiator"}, 39*853c0dc5SEd Tanous {GroupType::Target, "Target"}, 40*853c0dc5SEd Tanous }); 41*853c0dc5SEd Tanous 42*853c0dc5SEd Tanous } 43*853c0dc5SEd Tanous // clang-format on 44