1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace endpoint_group 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class AccessState{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous Optimized, 13853c0dc5SEd Tanous NonOptimized, 14853c0dc5SEd Tanous Standby, 15853c0dc5SEd Tanous Unavailable, 16853c0dc5SEd Tanous Transitioning, 17853c0dc5SEd Tanous }; 18853c0dc5SEd Tanous 19853c0dc5SEd Tanous enum class GroupType{ 20853c0dc5SEd Tanous Invalid, 21853c0dc5SEd Tanous Client, 22853c0dc5SEd Tanous Server, 23853c0dc5SEd Tanous Initiator, 24853c0dc5SEd Tanous Target, 25853c0dc5SEd Tanous }; 26853c0dc5SEd Tanous 27853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AccessState, { 28853c0dc5SEd Tanous {AccessState::Invalid, "Invalid"}, 29853c0dc5SEd Tanous {AccessState::Optimized, "Optimized"}, 30853c0dc5SEd Tanous {AccessState::NonOptimized, "NonOptimized"}, 31853c0dc5SEd Tanous {AccessState::Standby, "Standby"}, 32853c0dc5SEd Tanous {AccessState::Unavailable, "Unavailable"}, 33853c0dc5SEd Tanous {AccessState::Transitioning, "Transitioning"}, 34853c0dc5SEd Tanous }); 35853c0dc5SEd Tanous 36853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GroupType, { 37853c0dc5SEd Tanous {GroupType::Invalid, "Invalid"}, 38853c0dc5SEd Tanous {GroupType::Client, "Client"}, 39853c0dc5SEd Tanous {GroupType::Server, "Server"}, 40853c0dc5SEd Tanous {GroupType::Initiator, "Initiator"}, 41853c0dc5SEd Tanous {GroupType::Target, "Target"}, 42853c0dc5SEd Tanous }); 43853c0dc5SEd Tanous 44853c0dc5SEd Tanous } 45853c0dc5SEd Tanous // clang-format on 46