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