diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2014-04-09 08:08:01 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-01-20 07:44:08 +0000 |
commit | a63a506d543430c22ce23107e1bdedeb489161b2 (patch) | |
tree | 753fc1087c2cf614feb62d89322d7b2a2aa3f0ac /src/network/ssl/qsslcontext_openssl_p.h | |
parent | d6bb01e1779f1840dfbab57c6ecd615587bbde62 (diff) |
QSslContext: provide sharedFromConfiguration()
It's a version of fromConfiguration() that returns the QSslContext
instance in a shared instead of a naked pointer.
Use it in QSslSocketBackend.
The idea here, of course, is to use QSharedPointer<T>::create(),
which co-locates the refcount with the payload in a single memory
allocation, instead of QSharedPointer<T>(new T), which causes
two allocations.
Change-Id: Ia5396fb3b291f2912fca5cd97e0aa1e45e065e55
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/ssl/qsslcontext_openssl_p.h')
-rw-r--r-- | src/network/ssl/qsslcontext_openssl_p.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/network/ssl/qsslcontext_openssl_p.h b/src/network/ssl/qsslcontext_openssl_p.h index 41800d01f9..ef4dc6f815 100644 --- a/src/network/ssl/qsslcontext_openssl_p.h +++ b/src/network/ssl/qsslcontext_openssl_p.h @@ -72,6 +72,8 @@ public: static QSslContext* fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading); + static QSharedPointer<QSslContext> sharedFromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, + bool allowRootCertOnDemandLoading); QSslError::SslError error() const; QString errorString() const; @@ -99,6 +101,7 @@ public: protected: QSslContext(); + friend class QSharedPointer<QSslContext>; private: static void initSslContext(QSslContext* sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, |