1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd 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 17853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ChargeState, { 18853c0dc5SEd Tanous {ChargeState::Invalid, "Invalid"}, 19853c0dc5SEd Tanous {ChargeState::Idle, "Idle"}, 20853c0dc5SEd Tanous {ChargeState::Charging, "Charging"}, 21853c0dc5SEd Tanous {ChargeState::Discharging, "Discharging"}, 22853c0dc5SEd Tanous }); 23853c0dc5SEd Tanous 24853c0dc5SEd Tanous } 25853c0dc5SEd Tanous // clang-format on 26