From b856790d67ad25f5cd8e374cb299a129acbea2ff Mon Sep 17 00:00:00 2001 From: Tatiana Borisova Date: Tue, 12 Sep 2023 19:06:40 +0200 Subject: [PATCH] Add Q_ENUM macros for registering QSsl/QSslSocket in Meta-system - Macros provide possibility to use enums in QML via QtNetwork QML module Task-number: QTBUG-115056 Change-Id: I1ed96a7eb4b12681d16137528307fec6db5b016c Reviewed-by: Qt CI Bot Reviewed-by: Ulf Hermann --- src/network/ssl/qssl.h | 13 +++++++++++++ src/network/ssl/qsslsocket.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/network/ssl/qssl.h b/src/network/ssl/qssl.h index 3d01168172f..f3de298cb7d 100644 --- a/src/network/ssl/qssl.h +++ b/src/network/ssl/qssl.h @@ -10,21 +10,26 @@ #endif #include +#include #include QT_BEGIN_NAMESPACE namespace QSsl { + Q_NAMESPACE_EXPORT(Q_NETWORK_EXPORT) + enum KeyType { PrivateKey, PublicKey }; + Q_ENUM_NS(KeyType) enum EncodingFormat { Pem, Der }; + Q_ENUM_NS(EncodingFormat) enum KeyAlgorithm { Opaque, @@ -33,12 +38,14 @@ namespace QSsl { Ec, Dh, }; + Q_ENUM_NS(KeyAlgorithm) enum AlternativeNameEntryType { EmailEntry, DnsEntry, IpAddressEntry }; + Q_ENUM_NS(AlternativeNameEntryType) enum SslProtocol { TlsV1_0 QT_DEPRECATED_VERSION_X_6_3("Use TlsV1_2OrLater instead."), @@ -61,6 +68,7 @@ namespace QSsl { UnknownProtocol = -1 }; + Q_ENUM_NS(SslProtocol) enum SslOption { SslOptionDisableEmptyFragments = 0x01, @@ -72,6 +80,7 @@ namespace QSsl { SslOptionDisableSessionPersistence = 0x40, SslOptionDisableServerCipherPreference = 0x80 }; + Q_ENUM_NS(SslOption) Q_DECLARE_FLAGS(SslOptions, SslOption) enum class AlertLevel { @@ -79,6 +88,7 @@ namespace QSsl { Fatal, Unknown }; + Q_ENUM_NS(AlertLevel) enum class AlertType { CloseNotify, @@ -116,6 +126,7 @@ namespace QSsl { NoApplicationProtocol = 120, UnknownAlertMessage = 255 }; + Q_ENUM_NS(AlertType) enum class ImplementedClass { @@ -127,6 +138,7 @@ namespace QSsl { Dtls, DtlsCookie }; + Q_ENUM_NS(ImplementedClass) enum class SupportedFeature { @@ -138,6 +150,7 @@ namespace QSsl { SessionTicket, Alerts }; + Q_ENUM_NS(SupportedFeature) } Q_DECLARE_OPERATORS_FOR_FLAGS(QSsl::SslOptions) diff --git a/src/network/ssl/qsslsocket.h b/src/network/ssl/qsslsocket.h index 3174a68953e..3ed1bc45cc5 100644 --- a/src/network/ssl/qsslsocket.h +++ b/src/network/ssl/qsslsocket.h @@ -35,6 +35,7 @@ public: SslClientMode, SslServerMode }; + Q_ENUM(SslMode) enum PeerVerifyMode { VerifyNone, @@ -42,6 +43,7 @@ public: VerifyPeer, AutoVerifyPeer }; + Q_ENUM(PeerVerifyMode) explicit QSslSocket(QObject *parent = nullptr); ~QSslSocket();