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 event_service 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class SMTPConnectionProtocol{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous None, 130ec8b83dSEd Tanous AutoDetect, 140ec8b83dSEd Tanous StartTLS, 150ec8b83dSEd Tanous TLS_SSL, 160ec8b83dSEd Tanous }; 170ec8b83dSEd Tanous 180ec8b83dSEd Tanous enum class SMTPAuthenticationMethods{ 190ec8b83dSEd Tanous Invalid, 200ec8b83dSEd Tanous None, 210ec8b83dSEd Tanous AutoDetect, 220ec8b83dSEd Tanous Plain, 230ec8b83dSEd Tanous Login, 240ec8b83dSEd Tanous CRAM_MD5, 250ec8b83dSEd Tanous }; 260ec8b83dSEd Tanous 270ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SMTPConnectionProtocol, { 280ec8b83dSEd Tanous {SMTPConnectionProtocol::Invalid, "Invalid"}, 290ec8b83dSEd Tanous {SMTPConnectionProtocol::None, "None"}, 300ec8b83dSEd Tanous {SMTPConnectionProtocol::AutoDetect, "AutoDetect"}, 310ec8b83dSEd Tanous {SMTPConnectionProtocol::StartTLS, "StartTLS"}, 320ec8b83dSEd Tanous {SMTPConnectionProtocol::TLS_SSL, "TLS_SSL"}, 330ec8b83dSEd Tanous }); 340ec8b83dSEd Tanous 350ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SMTPAuthenticationMethods, { 360ec8b83dSEd Tanous {SMTPAuthenticationMethods::Invalid, "Invalid"}, 370ec8b83dSEd Tanous {SMTPAuthenticationMethods::None, "None"}, 380ec8b83dSEd Tanous {SMTPAuthenticationMethods::AutoDetect, "AutoDetect"}, 390ec8b83dSEd Tanous {SMTPAuthenticationMethods::Plain, "Plain"}, 400ec8b83dSEd Tanous {SMTPAuthenticationMethods::Login, "Login"}, 410ec8b83dSEd Tanous {SMTPAuthenticationMethods::CRAM_MD5, "CRAM_MD5"}, 420ec8b83dSEd Tanous }); 430ec8b83dSEd Tanous 440ec8b83dSEd Tanous } 450ec8b83dSEd Tanous // clang-format on 46