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