Add a new QT_NO_SSL feature macro.

At the moment users of Qt must detect if it was compiled with SSL
support by testing for QT_NO_OPENSSL. This means that any code that is
conditionally compiled this way is tied to the presence of the openssl
backend. This commit makes it possible to implement new SSL backends
during the Qt5 lifetime without breaking this code. People can still
test for QT_NO_OPENSSL if they really need openssl, but if they simply
want to know if there's SSL support at all they should use this define
instead.

In addition, this commit changes the public API headers to use the new
define.

Change-Id: Ib57a71aa65836ac9351f120a487bfeb8009d9515
Reviewed-by: Peter Hartmann <peter.hartmann@nokia.com>
This commit is contained in:
Richard Moore 2012-01-03 14:08:03 +00:00 committed by Qt by Nokia
parent c25d147c43
commit b328e36e41
10 changed files with 20 additions and 17 deletions

2
configure vendored
View File

@ -7790,7 +7790,7 @@ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_STYLE_S60"
[ "$CFG_INOTIFY" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_INOTIFY"
[ "$CFG_NAS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NAS"
[ "$CFG_NIS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_NIS"
[ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL"
[ "$CFG_OPENSSL" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_OPENSSL QT_NO_SSL"
[ "$CFG_OPENSSL" = "linked" ]&& QCONFIG_FLAGS="$QCONFIG_FLAGS QT_LINKED_OPENSSL"
[ "$CFG_SM" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SESSIONMANAGER"

Binary file not shown.

View File

@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
class QDateTime;
class QIODevice;
@ -152,7 +152,7 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QSslCertificate &certific
Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, QSslCertificate::SubjectInfo info);
#endif
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
class QSslCertificateExtensionPrivate;
@ -78,7 +78,7 @@ private:
QSharedDataPointer<QSslCertificateExtensionPrivate> d;
};
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
class QSslCipherPrivate;
class Q_NETWORK_EXPORT QSslCipher
@ -88,7 +88,7 @@ class QDebug;
Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QSslCipher &cipher);
#endif
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -67,7 +67,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
template<typename T> class QList;
class QSslCertificate;
@ -132,7 +132,7 @@ private:
QSharedDataPointer<QSslConfigurationPrivate> d;
};
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
class QSslErrorPrivate;
class Q_NETWORK_EXPORT QSslError
@ -115,7 +115,7 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QSslError &error);
Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QSslError::SslError &error);
#endif
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -54,7 +54,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
template <typename A, typename B> struct QPair;
@ -103,7 +103,7 @@ class QDebug;
Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QSslKey &key);
#endif
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -45,7 +45,7 @@
#include <QtCore/qlist.h>
#include <QtCore/qregexp.h>
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
# include <QtNetwork/qtcpsocket.h>
# include <QtNetwork/qsslerror.h>
#endif
@ -56,7 +56,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Network)
#ifndef QT_NO_OPENSSL
#ifndef QT_NO_SSL
class QDir;
class QSslCipher;
@ -217,7 +217,7 @@ private:
friend class QSslSocketBackendPrivate;
};
#endif // QT_NO_OPENSSL
#endif // QT_NO_SSL
QT_END_NAMESPACE

View File

@ -2915,7 +2915,10 @@ void Configure::generateConfigfiles()
if (dictionary["EXCEPTIONS"] == "no") qconfigList += "QT_NO_EXCEPTIONS";
if (dictionary["OPENGL"] == "no") qconfigList += "QT_NO_OPENGL";
if (dictionary["OPENVG"] == "no") qconfigList += "QT_NO_OPENVG";
if (dictionary["OPENSSL"] == "no") qconfigList += "QT_NO_OPENSSL";
if (dictionary["OPENSSL"] == "no") {
qconfigList += "QT_NO_OPENSSL";
qconfigList += "QT_NO_SSL";
}
if (dictionary["OPENSSL"] == "linked") qconfigList += "QT_LINKED_OPENSSL";
if (dictionary["DBUS"] == "no") qconfigList += "QT_NO_DBUS";
if (dictionary["WEBKIT"] == "no") qconfigList += "QT_NO_WEBKIT";