1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 30ec8b83dSEd Tanous #pragma once 40ec8b83dSEd Tanous #include <nlohmann/json.hpp> 50ec8b83dSEd Tanous 60ec8b83dSEd Tanous namespace session 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class SessionTypes{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous HostConsole, 130ec8b83dSEd Tanous ManagerConsole, 140ec8b83dSEd Tanous IPMI, 150ec8b83dSEd Tanous KVMIP, 160ec8b83dSEd Tanous OEM, 170ec8b83dSEd Tanous Redfish, 180ec8b83dSEd Tanous VirtualMedia, 190ec8b83dSEd Tanous WebUI, 20e9cc1bc9SEd Tanous OutboundConnection, 210ec8b83dSEd Tanous }; 220ec8b83dSEd Tanous 230ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SessionTypes, { 240ec8b83dSEd Tanous {SessionTypes::Invalid, "Invalid"}, 250ec8b83dSEd Tanous {SessionTypes::HostConsole, "HostConsole"}, 260ec8b83dSEd Tanous {SessionTypes::ManagerConsole, "ManagerConsole"}, 270ec8b83dSEd Tanous {SessionTypes::IPMI, "IPMI"}, 280ec8b83dSEd Tanous {SessionTypes::KVMIP, "KVMIP"}, 290ec8b83dSEd Tanous {SessionTypes::OEM, "OEM"}, 300ec8b83dSEd Tanous {SessionTypes::Redfish, "Redfish"}, 310ec8b83dSEd Tanous {SessionTypes::VirtualMedia, "VirtualMedia"}, 320ec8b83dSEd Tanous {SessionTypes::WebUI, "WebUI"}, 33e9cc1bc9SEd Tanous {SessionTypes::OutboundConnection, "OutboundConnection"}, 340ec8b83dSEd Tanous }); 350ec8b83dSEd Tanous 360ec8b83dSEd Tanous } 370ec8b83dSEd Tanous // clang-format on 38