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