1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace rf_switch 7 { 8 // clang-format off 9 10 enum class TargetType{ 11 Invalid, 12 FabricPort, 13 HostEdgePort, 14 DownstreamEdgePort, 15 }; 16 17 NLOHMANN_JSON_SERIALIZE_ENUM(TargetType, { 18 {TargetType::Invalid, "Invalid"}, 19 {TargetType::FabricPort, "FabricPort"}, 20 {TargetType::HostEdgePort, "HostEdgePort"}, 21 {TargetType::DownstreamEdgePort, "DownstreamEdgePort"}, 22 }); 23 24 // clang-format on 25 } // namespace rf_switch 26