140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3f263e09cSEd Tanous #pragma once 4f263e09cSEd Tanous #include <nlohmann/json.hpp> 5f263e09cSEd Tanous 6f263e09cSEd Tanous namespace cooling_unit 7f263e09cSEd Tanous { 8f263e09cSEd Tanous // clang-format off 9f263e09cSEd Tanous 10f263e09cSEd Tanous enum class CoolingEquipmentType{ 11f263e09cSEd Tanous Invalid, 12f263e09cSEd Tanous CDU, 13f263e09cSEd Tanous HeatExchanger, 14f263e09cSEd Tanous ImmersionUnit, 15*c6d7a45dSGunnar Mills RPU, 16f263e09cSEd Tanous }; 17f263e09cSEd Tanous 189b46bc0bSMyung Bae enum class CoolingUnitMode{ 199b46bc0bSMyung Bae Invalid, 209b46bc0bSMyung Bae Enabled, 219b46bc0bSMyung Bae Disabled, 229b46bc0bSMyung Bae }; 239b46bc0bSMyung Bae 24f263e09cSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CoolingEquipmentType, { 25f263e09cSEd Tanous {CoolingEquipmentType::Invalid, "Invalid"}, 26f263e09cSEd Tanous {CoolingEquipmentType::CDU, "CDU"}, 27f263e09cSEd Tanous {CoolingEquipmentType::HeatExchanger, "HeatExchanger"}, 28f263e09cSEd Tanous {CoolingEquipmentType::ImmersionUnit, "ImmersionUnit"}, 29*c6d7a45dSGunnar Mills {CoolingEquipmentType::RPU, "RPU"}, 30f263e09cSEd Tanous }); 31f263e09cSEd Tanous 329b46bc0bSMyung Bae NLOHMANN_JSON_SERIALIZE_ENUM(CoolingUnitMode, { 339b46bc0bSMyung Bae {CoolingUnitMode::Invalid, "Invalid"}, 349b46bc0bSMyung Bae {CoolingUnitMode::Enabled, "Enabled"}, 359b46bc0bSMyung Bae {CoolingUnitMode::Disabled, "Disabled"}, 369b46bc0bSMyung Bae }); 379b46bc0bSMyung Bae 38f263e09cSEd Tanous } 39f263e09cSEd Tanous // clang-format on 40