// SPDX-License-Identifier: Apache-2.0 // SPDX-FileCopyrightText: Copyright OpenBMC Authors #pragma once #include namespace leak_detector { // clang-format off enum class LeakDetectorType{ Invalid, Moisture, FloatSwitch, }; enum class DetectorState{ Invalid, OK, Warning, Critical, Unavailable, Absent, }; enum class ReactionType{ Invalid, None, ForceOff, GracefulShutdown, }; NLOHMANN_JSON_SERIALIZE_ENUM(LeakDetectorType, { {LeakDetectorType::Invalid, "Invalid"}, {LeakDetectorType::Moisture, "Moisture"}, {LeakDetectorType::FloatSwitch, "FloatSwitch"}, }); NLOHMANN_JSON_SERIALIZE_ENUM(DetectorState, { {DetectorState::Invalid, "Invalid"}, {DetectorState::OK, "OK"}, {DetectorState::Warning, "Warning"}, {DetectorState::Critical, "Critical"}, {DetectorState::Unavailable, "Unavailable"}, {DetectorState::Absent, "Absent"}, }); NLOHMANN_JSON_SERIALIZE_ENUM(ReactionType, { {ReactionType::Invalid, "Invalid"}, {ReactionType::None, "None"}, {ReactionType::ForceOff, "ForceOff"}, {ReactionType::GracefulShutdown, "GracefulShutdown"}, }); // clang-format on } // namespace leak_detector