summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslcertificate.h
diff options
context:
space:
mode:
authorTimur Pocheptsov <timur.pocheptsov@qt.io>2021-01-26 17:20:29 +0100
committerTimur Pocheptsov <timur.pocheptsov@qt.io>2021-02-18 17:13:30 +0000
commit64a878e36b178ddb3834c6ca782a6ebefed6aed8 (patch)
tree71b972c44c9b309abc2892b2f53ea044ee9ebb33 /src/network/ssl/qsslcertificate.h
parent0d4fb41e8c00263a0d385b70cc066776cbf6cc37 (diff)
Introduce QSsl::X509Certificate interface and its implementations
To enable QSslCertificate to use TLS plugins. All backend-specific code is to be moved from QSslCertificate(Private) making them backend-neutral. Task-number: QTBUG-90954 Task-number: QTBUG-65922 Change-Id: Ic9d5abf91e42ce81fe56239f95ae97b64035e950 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> (cherry picked from commit 405337ee7276be4b76e86745c0694c51283b6b07) Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/network/ssl/qsslcertificate.h')
-rw-r--r--src/network/ssl/qsslcertificate.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h
index cf97dcbee8..a2ba90465f 100644
--- a/src/network/ssl/qsslcertificate.h
+++ b/src/network/ssl/qsslcertificate.h
@@ -66,6 +66,12 @@ class QSslCertificate;
// qHash is a friend, but we can't use default arguments for friends (§8.3.6.4)
Q_NETWORK_EXPORT size_t qHash(const QSslCertificate &key, size_t seed = 0) noexcept;
+namespace QSsl {
+
+class X509Certificate;
+
+} // namespace QSsl.
+
class QSslCertificatePrivate;
class Q_NETWORK_EXPORT QSslCertificate
{
@@ -157,9 +163,14 @@ public:
Qt::HANDLE handle() const;
private:
+ QSsl::X509Certificate *backendImplementation() const
+ {
+ return nullptr; // TLSTODO
+ }
QExplicitlySharedDataPointer<QSslCertificatePrivate> d;
friend class QSslCertificatePrivate;
friend class QSslSocketBackendPrivate;
+ friend class QTlsBackend;
friend Q_NETWORK_EXPORT size_t qHash(const QSslCertificate &key, size_t seed) noexcept;
};