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, 15f263e09cSEd Tanous }; 16f263e09cSEd Tanous 17*9b46bc0bSMyung Bae enum class CoolingUnitMode{ 18*9b46bc0bSMyung Bae Invalid, 19*9b46bc0bSMyung Bae Enabled, 20*9b46bc0bSMyung Bae Disabled, 21*9b46bc0bSMyung Bae }; 22*9b46bc0bSMyung Bae 23f263e09cSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CoolingEquipmentType, { 24f263e09cSEd Tanous {CoolingEquipmentType::Invalid, "Invalid"}, 25f263e09cSEd Tanous {CoolingEquipmentType::CDU, "CDU"}, 26f263e09cSEd Tanous {CoolingEquipmentType::HeatExchanger, "HeatExchanger"}, 27f263e09cSEd Tanous {CoolingEquipmentType::ImmersionUnit, "ImmersionUnit"}, 28f263e09cSEd Tanous }); 29f263e09cSEd Tanous 30*9b46bc0bSMyung Bae NLOHMANN_JSON_SERIALIZE_ENUM(CoolingUnitMode, { 31*9b46bc0bSMyung Bae {CoolingUnitMode::Invalid, "Invalid"}, 32*9b46bc0bSMyung Bae {CoolingUnitMode::Enabled, "Enabled"}, 33*9b46bc0bSMyung Bae {CoolingUnitMode::Disabled, "Disabled"}, 34*9b46bc0bSMyung Bae }); 35*9b46bc0bSMyung Bae 36f263e09cSEd Tanous } 37f263e09cSEd Tanous // clang-format on 38