xref: /openbmc/bmcweb/features/redfish/include/generated/enums/battery.hpp (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace battery
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class ChargeState{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     Idle,
13853c0dc5SEd Tanous     Charging,
14853c0dc5SEd Tanous     Discharging,
15853c0dc5SEd Tanous };
16853c0dc5SEd Tanous 
17*c6d7a45dSGunnar Mills enum class BatteryChemistryType{
18*c6d7a45dSGunnar Mills     Invalid,
19*c6d7a45dSGunnar Mills     LeadAcid,
20*c6d7a45dSGunnar Mills     LithiumIon,
21*c6d7a45dSGunnar Mills     NickelCadmium,
22*c6d7a45dSGunnar Mills };
23*c6d7a45dSGunnar Mills 
24*c6d7a45dSGunnar Mills enum class EnergyStorageType{
25*c6d7a45dSGunnar Mills     Invalid,
26*c6d7a45dSGunnar Mills     Battery,
27*c6d7a45dSGunnar Mills     Supercapacitor,
28*c6d7a45dSGunnar Mills };
29*c6d7a45dSGunnar Mills 
30853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ChargeState, {
31853c0dc5SEd Tanous     {ChargeState::Invalid, "Invalid"},
32853c0dc5SEd Tanous     {ChargeState::Idle, "Idle"},
33853c0dc5SEd Tanous     {ChargeState::Charging, "Charging"},
34853c0dc5SEd Tanous     {ChargeState::Discharging, "Discharging"},
35853c0dc5SEd Tanous });
36853c0dc5SEd Tanous 
37*c6d7a45dSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(BatteryChemistryType, {
38*c6d7a45dSGunnar Mills     {BatteryChemistryType::Invalid, "Invalid"},
39*c6d7a45dSGunnar Mills     {BatteryChemistryType::LeadAcid, "LeadAcid"},
40*c6d7a45dSGunnar Mills     {BatteryChemistryType::LithiumIon, "LithiumIon"},
41*c6d7a45dSGunnar Mills     {BatteryChemistryType::NickelCadmium, "NickelCadmium"},
42*c6d7a45dSGunnar Mills });
43*c6d7a45dSGunnar Mills 
44*c6d7a45dSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(EnergyStorageType, {
45*c6d7a45dSGunnar Mills     {EnergyStorageType::Invalid, "Invalid"},
46*c6d7a45dSGunnar Mills     {EnergyStorageType::Battery, "Battery"},
47*c6d7a45dSGunnar Mills     {EnergyStorageType::Supercapacitor, "Supercapacitor"},
48*c6d7a45dSGunnar Mills });
49*c6d7a45dSGunnar Mills 
50853c0dc5SEd Tanous }
51853c0dc5SEd Tanous // clang-format on
52