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