summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/leak_detector.hpp
blob: 33393ac2e4c8c22eee4f9c93ba43d7ff02c80e44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

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