summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/battery.hpp
blob: 25413428c605df58564c27e244ba7731465ed57b (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
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

namespace battery
{
// clang-format off

enum class ChargeState{
    Invalid,
    Idle,
    Charging,
    Discharging,
};

enum class BatteryChemistryType{
    Invalid,
    LeadAcid,
    LithiumIon,
    NickelCadmium,
};

enum class EnergyStorageType{
    Invalid,
    Battery,
    Supercapacitor,
};

NLOHMANN_JSON_SERIALIZE_ENUM(ChargeState, {
    {ChargeState::Invalid, "Invalid"},
    {ChargeState::Idle, "Idle"},
    {ChargeState::Charging, "Charging"},
    {ChargeState::Discharging, "Discharging"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(BatteryChemistryType, {
    {BatteryChemistryType::Invalid, "Invalid"},
    {BatteryChemistryType::LeadAcid, "LeadAcid"},
    {BatteryChemistryType::LithiumIon, "LithiumIon"},
    {BatteryChemistryType::NickelCadmium, "NickelCadmium"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(EnergyStorageType, {
    {EnergyStorageType::Invalid, "Invalid"},
    {EnergyStorageType::Battery, "Battery"},
    {EnergyStorageType::Supercapacitor, "Supercapacitor"},
});

// clang-format on
} // namespace battery