1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace cooling_unit 7 { 8 // clang-format off 9 10 enum class CoolingEquipmentType{ 11 Invalid, 12 CDU, 13 HeatExchanger, 14 ImmersionUnit, 15 }; 16 17 enum class CoolingUnitMode{ 18 Invalid, 19 Enabled, 20 Disabled, 21 }; 22 23 NLOHMANN_JSON_SERIALIZE_ENUM(CoolingEquipmentType, { 24 {CoolingEquipmentType::Invalid, "Invalid"}, 25 {CoolingEquipmentType::CDU, "CDU"}, 26 {CoolingEquipmentType::HeatExchanger, "HeatExchanger"}, 27 {CoolingEquipmentType::ImmersionUnit, "ImmersionUnit"}, 28 }); 29 30 NLOHMANN_JSON_SERIALIZE_ENUM(CoolingUnitMode, { 31 {CoolingUnitMode::Invalid, "Invalid"}, 32 {CoolingUnitMode::Enabled, "Enabled"}, 33 {CoolingUnitMode::Disabled, "Disabled"}, 34 }); 35 36 } 37 // clang-format on 38