blob: 4e8501eb664c7c36726e7e83fd5fe6b843a516be [file] [log] [blame]
#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>
namespace power_distribution
{
// clang-format off
enum class PowerEquipmentType : std::uint8_t{
Invalid,
RackPDU,
FloorPDU,
ManualTransferSwitch,
AutomaticTransferSwitch,
Switchgear,
PowerShelf,
Bus,
BatteryShelf,
};
enum class TransferSensitivityType : std::uint8_t{
Invalid,
High,
Medium,
Low,
};
NLOHMANN_JSON_SERIALIZE_ENUM(PowerEquipmentType, {
{PowerEquipmentType::Invalid, "Invalid"},
{PowerEquipmentType::RackPDU, "RackPDU"},
{PowerEquipmentType::FloorPDU, "FloorPDU"},
{PowerEquipmentType::ManualTransferSwitch, "ManualTransferSwitch"},
{PowerEquipmentType::AutomaticTransferSwitch, "AutomaticTransferSwitch"},
{PowerEquipmentType::Switchgear, "Switchgear"},
{PowerEquipmentType::PowerShelf, "PowerShelf"},
{PowerEquipmentType::Bus, "Bus"},
{PowerEquipmentType::BatteryShelf, "BatteryShelf"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(TransferSensitivityType, {
{TransferSensitivityType::Invalid, "Invalid"},
{TransferSensitivityType::High, "High"},
{TransferSensitivityType::Medium, "Medium"},
{TransferSensitivityType::Low, "Low"},
});
} // namespace power_distribution
// clang-format on