140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 30ec8b83dSEd Tanous #pragma once 40ec8b83dSEd Tanous #include <nlohmann/json.hpp> 50ec8b83dSEd Tanous 60ec8b83dSEd Tanous namespace manager 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class ManagerType{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous ManagementController, 130ec8b83dSEd Tanous EnclosureManager, 140ec8b83dSEd Tanous BMC, 150ec8b83dSEd Tanous RackManager, 160ec8b83dSEd Tanous AuxiliaryController, 170ec8b83dSEd Tanous Service, 180ec8b83dSEd Tanous }; 190ec8b83dSEd Tanous 200ec8b83dSEd Tanous enum class SerialConnectTypesSupported{ 210ec8b83dSEd Tanous Invalid, 220ec8b83dSEd Tanous SSH, 230ec8b83dSEd Tanous Telnet, 240ec8b83dSEd Tanous IPMI, 250ec8b83dSEd Tanous Oem, 260ec8b83dSEd Tanous }; 270ec8b83dSEd Tanous 280ec8b83dSEd Tanous enum class CommandConnectTypesSupported{ 290ec8b83dSEd Tanous Invalid, 300ec8b83dSEd Tanous SSH, 310ec8b83dSEd Tanous Telnet, 320ec8b83dSEd Tanous IPMI, 330ec8b83dSEd Tanous Oem, 340ec8b83dSEd Tanous }; 350ec8b83dSEd Tanous 360ec8b83dSEd Tanous enum class GraphicalConnectTypesSupported{ 370ec8b83dSEd Tanous Invalid, 380ec8b83dSEd Tanous KVMIP, 390ec8b83dSEd Tanous Oem, 400ec8b83dSEd Tanous }; 410ec8b83dSEd Tanous 420ec8b83dSEd Tanous enum class ResetToDefaultsType{ 430ec8b83dSEd Tanous Invalid, 440ec8b83dSEd Tanous ResetAll, 450ec8b83dSEd Tanous PreserveNetworkAndUsers, 460ec8b83dSEd Tanous PreserveNetwork, 470ec8b83dSEd Tanous }; 480ec8b83dSEd Tanous 49*9b46bc0bSMyung Bae enum class DateTimeSource{ 50*9b46bc0bSMyung Bae Invalid, 51*9b46bc0bSMyung Bae RTC, 52*9b46bc0bSMyung Bae Firmware, 53*9b46bc0bSMyung Bae Host, 54*9b46bc0bSMyung Bae NTP, 55*9b46bc0bSMyung Bae PTP, 56*9b46bc0bSMyung Bae }; 57*9b46bc0bSMyung Bae 580ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ManagerType, { 590ec8b83dSEd Tanous {ManagerType::Invalid, "Invalid"}, 600ec8b83dSEd Tanous {ManagerType::ManagementController, "ManagementController"}, 610ec8b83dSEd Tanous {ManagerType::EnclosureManager, "EnclosureManager"}, 620ec8b83dSEd Tanous {ManagerType::BMC, "BMC"}, 630ec8b83dSEd Tanous {ManagerType::RackManager, "RackManager"}, 640ec8b83dSEd Tanous {ManagerType::AuxiliaryController, "AuxiliaryController"}, 650ec8b83dSEd Tanous {ManagerType::Service, "Service"}, 660ec8b83dSEd Tanous }); 670ec8b83dSEd Tanous 680ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SerialConnectTypesSupported, { 690ec8b83dSEd Tanous {SerialConnectTypesSupported::Invalid, "Invalid"}, 700ec8b83dSEd Tanous {SerialConnectTypesSupported::SSH, "SSH"}, 710ec8b83dSEd Tanous {SerialConnectTypesSupported::Telnet, "Telnet"}, 720ec8b83dSEd Tanous {SerialConnectTypesSupported::IPMI, "IPMI"}, 730ec8b83dSEd Tanous {SerialConnectTypesSupported::Oem, "Oem"}, 740ec8b83dSEd Tanous }); 750ec8b83dSEd Tanous 760ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CommandConnectTypesSupported, { 770ec8b83dSEd Tanous {CommandConnectTypesSupported::Invalid, "Invalid"}, 780ec8b83dSEd Tanous {CommandConnectTypesSupported::SSH, "SSH"}, 790ec8b83dSEd Tanous {CommandConnectTypesSupported::Telnet, "Telnet"}, 800ec8b83dSEd Tanous {CommandConnectTypesSupported::IPMI, "IPMI"}, 810ec8b83dSEd Tanous {CommandConnectTypesSupported::Oem, "Oem"}, 820ec8b83dSEd Tanous }); 830ec8b83dSEd Tanous 840ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GraphicalConnectTypesSupported, { 850ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Invalid, "Invalid"}, 860ec8b83dSEd Tanous {GraphicalConnectTypesSupported::KVMIP, "KVMIP"}, 870ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Oem, "Oem"}, 880ec8b83dSEd Tanous }); 890ec8b83dSEd Tanous 900ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, { 910ec8b83dSEd Tanous {ResetToDefaultsType::Invalid, "Invalid"}, 920ec8b83dSEd Tanous {ResetToDefaultsType::ResetAll, "ResetAll"}, 930ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetworkAndUsers, "PreserveNetworkAndUsers"}, 940ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetwork, "PreserveNetwork"}, 950ec8b83dSEd Tanous }); 960ec8b83dSEd Tanous 97*9b46bc0bSMyung Bae NLOHMANN_JSON_SERIALIZE_ENUM(DateTimeSource, { 98*9b46bc0bSMyung Bae {DateTimeSource::Invalid, "Invalid"}, 99*9b46bc0bSMyung Bae {DateTimeSource::RTC, "RTC"}, 100*9b46bc0bSMyung Bae {DateTimeSource::Firmware, "Firmware"}, 101*9b46bc0bSMyung Bae {DateTimeSource::Host, "Host"}, 102*9b46bc0bSMyung Bae {DateTimeSource::NTP, "NTP"}, 103*9b46bc0bSMyung Bae {DateTimeSource::PTP, "PTP"}, 104*9b46bc0bSMyung Bae }); 105*9b46bc0bSMyung Bae 1060ec8b83dSEd Tanous } 1070ec8b83dSEd Tanous // clang-format on 108