1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace power_supply 7 { 8 // clang-format off 9 10 enum class PowerSupplyType{ 11 Invalid, 12 AC, 13 DC, 14 ACorDC, 15 DCRegulator, 16 }; 17 18 enum class LineStatus{ 19 Invalid, 20 Normal, 21 LossOfInput, 22 OutOfRange, 23 }; 24 25 NLOHMANN_JSON_SERIALIZE_ENUM(PowerSupplyType, { 26 {PowerSupplyType::Invalid, "Invalid"}, 27 {PowerSupplyType::AC, "AC"}, 28 {PowerSupplyType::DC, "DC"}, 29 {PowerSupplyType::ACorDC, "ACorDC"}, 30 {PowerSupplyType::DCRegulator, "DCRegulator"}, 31 }); 32 33 NLOHMANN_JSON_SERIALIZE_ENUM(LineStatus, { 34 {LineStatus::Invalid, "Invalid"}, 35 {LineStatus::Normal, "Normal"}, 36 {LineStatus::LossOfInput, "LossOfInput"}, 37 {LineStatus::OutOfRange, "OutOfRange"}, 38 }); 39 40 } 41 // clang-format on 42