1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace event_service 7 { 8 // clang-format off 9 10 enum class SMTPConnectionProtocol{ 11 Invalid, 12 None, 13 AutoDetect, 14 StartTLS, 15 TLS_SSL, 16 }; 17 18 enum class SMTPAuthenticationMethods{ 19 Invalid, 20 None, 21 AutoDetect, 22 Plain, 23 Login, 24 CRAM_MD5, 25 }; 26 27 NLOHMANN_JSON_SERIALIZE_ENUM(SMTPConnectionProtocol, { 28 {SMTPConnectionProtocol::Invalid, "Invalid"}, 29 {SMTPConnectionProtocol::None, "None"}, 30 {SMTPConnectionProtocol::AutoDetect, "AutoDetect"}, 31 {SMTPConnectionProtocol::StartTLS, "StartTLS"}, 32 {SMTPConnectionProtocol::TLS_SSL, "TLS_SSL"}, 33 }); 34 35 NLOHMANN_JSON_SERIALIZE_ENUM(SMTPAuthenticationMethods, { 36 {SMTPAuthenticationMethods::Invalid, "Invalid"}, 37 {SMTPAuthenticationMethods::None, "None"}, 38 {SMTPAuthenticationMethods::AutoDetect, "AutoDetect"}, 39 {SMTPAuthenticationMethods::Plain, "Plain"}, 40 {SMTPAuthenticationMethods::Login, "Login"}, 41 {SMTPAuthenticationMethods::CRAM_MD5, "CRAM_MD5"}, 42 }); 43 44 } 45 // clang-format on 46