10ec8b83dSEd Tanous #pragma once
20ec8b83dSEd Tanous #include <nlohmann/json.hpp>
30ec8b83dSEd Tanous 
40ec8b83dSEd Tanous namespace session
50ec8b83dSEd Tanous {
60ec8b83dSEd Tanous // clang-format off
70ec8b83dSEd Tanous 
80ec8b83dSEd Tanous enum class SessionTypes{
90ec8b83dSEd Tanous     Invalid,
100ec8b83dSEd Tanous     HostConsole,
110ec8b83dSEd Tanous     ManagerConsole,
120ec8b83dSEd Tanous     IPMI,
130ec8b83dSEd Tanous     KVMIP,
140ec8b83dSEd Tanous     OEM,
150ec8b83dSEd Tanous     Redfish,
160ec8b83dSEd Tanous     VirtualMedia,
170ec8b83dSEd Tanous     WebUI,
18*e9cc1bc9SEd Tanous     OutboundConnection,
190ec8b83dSEd Tanous };
200ec8b83dSEd Tanous 
210ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SessionTypes, {
220ec8b83dSEd Tanous     {SessionTypes::Invalid, "Invalid"},
230ec8b83dSEd Tanous     {SessionTypes::HostConsole, "HostConsole"},
240ec8b83dSEd Tanous     {SessionTypes::ManagerConsole, "ManagerConsole"},
250ec8b83dSEd Tanous     {SessionTypes::IPMI, "IPMI"},
260ec8b83dSEd Tanous     {SessionTypes::KVMIP, "KVMIP"},
270ec8b83dSEd Tanous     {SessionTypes::OEM, "OEM"},
280ec8b83dSEd Tanous     {SessionTypes::Redfish, "Redfish"},
290ec8b83dSEd Tanous     {SessionTypes::VirtualMedia, "VirtualMedia"},
300ec8b83dSEd Tanous     {SessionTypes::WebUI, "WebUI"},
31*e9cc1bc9SEd Tanous     {SessionTypes::OutboundConnection, "OutboundConnection"},
320ec8b83dSEd Tanous });
330ec8b83dSEd Tanous 
340ec8b83dSEd Tanous }
350ec8b83dSEd Tanous // clang-format on
36