1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace power_distribution 5 { 6 // clang-format off 7 8 enum class PowerEquipmentType{ 9 Invalid, 10 RackPDU, 11 FloorPDU, 12 ManualTransferSwitch, 13 AutomaticTransferSwitch, 14 Switchgear, 15 PowerShelf, 16 Bus, 17 }; 18 19 enum class TransferSensitivityType{ 20 Invalid, 21 High, 22 Medium, 23 Low, 24 }; 25 26 NLOHMANN_JSON_SERIALIZE_ENUM(PowerEquipmentType, { 27 {PowerEquipmentType::Invalid, "Invalid"}, 28 {PowerEquipmentType::RackPDU, "RackPDU"}, 29 {PowerEquipmentType::FloorPDU, "FloorPDU"}, 30 {PowerEquipmentType::ManualTransferSwitch, "ManualTransferSwitch"}, 31 {PowerEquipmentType::AutomaticTransferSwitch, "AutomaticTransferSwitch"}, 32 {PowerEquipmentType::Switchgear, "Switchgear"}, 33 {PowerEquipmentType::PowerShelf, "PowerShelf"}, 34 {PowerEquipmentType::Bus, "Bus"}, 35 }); 36 37 NLOHMANN_JSON_SERIALIZE_ENUM(TransferSensitivityType, { 38 {TransferSensitivityType::Invalid, "Invalid"}, 39 {TransferSensitivityType::High, "High"}, 40 {TransferSensitivityType::Medium, "Medium"}, 41 {TransferSensitivityType::Low, "Low"}, 42 }); 43 44 } 45 // clang-format on 46