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 power_distribution 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class PowerEquipmentType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous RackPDU, 13853c0dc5SEd Tanous FloorPDU, 14853c0dc5SEd Tanous ManualTransferSwitch, 15853c0dc5SEd Tanous AutomaticTransferSwitch, 16853c0dc5SEd Tanous Switchgear, 17853c0dc5SEd Tanous PowerShelf, 18853c0dc5SEd Tanous Bus, 19a8d8f9d8SEd Tanous BatteryShelf, 20853c0dc5SEd Tanous }; 21853c0dc5SEd Tanous 22853c0dc5SEd Tanous enum class TransferSensitivityType{ 23853c0dc5SEd Tanous Invalid, 24853c0dc5SEd Tanous High, 25853c0dc5SEd Tanous Medium, 26853c0dc5SEd Tanous Low, 27853c0dc5SEd Tanous }; 28853c0dc5SEd Tanous 29853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerEquipmentType, { 30853c0dc5SEd Tanous {PowerEquipmentType::Invalid, "Invalid"}, 31853c0dc5SEd Tanous {PowerEquipmentType::RackPDU, "RackPDU"}, 32853c0dc5SEd Tanous {PowerEquipmentType::FloorPDU, "FloorPDU"}, 33853c0dc5SEd Tanous {PowerEquipmentType::ManualTransferSwitch, "ManualTransferSwitch"}, 34853c0dc5SEd Tanous {PowerEquipmentType::AutomaticTransferSwitch, "AutomaticTransferSwitch"}, 35853c0dc5SEd Tanous {PowerEquipmentType::Switchgear, "Switchgear"}, 36853c0dc5SEd Tanous {PowerEquipmentType::PowerShelf, "PowerShelf"}, 37853c0dc5SEd Tanous {PowerEquipmentType::Bus, "Bus"}, 38a8d8f9d8SEd Tanous {PowerEquipmentType::BatteryShelf, "BatteryShelf"}, 39853c0dc5SEd Tanous }); 40853c0dc5SEd Tanous 41853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TransferSensitivityType, { 42853c0dc5SEd Tanous {TransferSensitivityType::Invalid, "Invalid"}, 43853c0dc5SEd Tanous {TransferSensitivityType::High, "High"}, 44853c0dc5SEd Tanous {TransferSensitivityType::Medium, "Medium"}, 45853c0dc5SEd Tanous {TransferSensitivityType::Low, "Low"}, 46853c0dc5SEd Tanous }); 47853c0dc5SEd Tanous 48853c0dc5SEd Tanous } 49853c0dc5SEd Tanous // clang-format on 50