From 79b742b7e01ba5fa46b45578660d0e1f9ce0dae6 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 20 Jul 2012 10:56:54 +0200 Subject: QtNetwork: use nullary version of qRegisterMetaType("T") Using the nullary version has the advantage that multiple calls during a program run are much more efficient, since an inlined atomic is used to store the result. It also ensures that Q_DECLARE_METATYPE(T) has been used, whereas qRegisterMetaType("T") will happily register anything. So I've added the macro where it was missing, or moved it to a central place when it existed hidden. In tst_qnetworkreply, this became a bit tricky, because a private header is conditionally included, so moved the Q_DECLARE_METATYPE() into a conditional section, too. Change-Id: I71484523e4277f4697b7d4b2ddc3505375162727 Reviewed-by: Stephen Kelly --- tests/auto/network/access/qftp/tst_qftp.cpp | 4 ---- .../qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp | 1 - tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp | 10 +++------- 3 files changed, 3 insertions(+), 12 deletions(-) (limited to 'tests/auto/network/access') diff --git a/tests/auto/network/access/qftp/tst_qftp.cpp b/tests/auto/network/access/qftp/tst_qftp.cpp index fb898c4b89..d35173298c 100644 --- a/tests/auto/network/access/qftp/tst_qftp.cpp +++ b/tests/auto/network/access/qftp/tst_qftp.cpp @@ -57,10 +57,6 @@ #include "../../../network-settings.h" -#ifndef QT_NO_BEARERMANAGEMENT -Q_DECLARE_METATYPE(QNetworkConfiguration) -#endif - class tst_QFtp : public QObject { Q_OBJECT diff --git a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp index f9f3b26898..8de5174739 100644 --- a/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp +++ b/tests/auto/network/access/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp @@ -746,7 +746,6 @@ void tst_QHttpNetworkConnection::ignoresslerror() #endif #ifdef QT_NO_SSL -Q_DECLARE_METATYPE(QNetworkReply::NetworkError) void tst_QHttpNetworkConnection::nossl_data() { QTest::addColumn("protocol"); diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp index 9b43185384..a7ac2661d5 100644 --- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp +++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp @@ -78,7 +78,10 @@ #include #endif #ifdef QT_BUILD_INTERNAL +#include // implicitly included by qnetworkaccessmanager_p.h currently, but don't rely on that being true forever #include +#else +Q_DECLARE_METATYPE(QSharedPointer) #endif #ifdef Q_OS_UNIX @@ -89,19 +92,12 @@ #include "../../../network-settings.h" -Q_DECLARE_METATYPE(QSharedPointer) Q_DECLARE_METATYPE(QNetworkReply*) Q_DECLARE_METATYPE(QAuthenticator*) -Q_DECLARE_METATYPE(QNetworkProxy) Q_DECLARE_METATYPE(QNetworkProxyQuery) -Q_DECLARE_METATYPE(QList) -Q_DECLARE_METATYPE(QNetworkReply::NetworkError) Q_DECLARE_METATYPE(QBuffer*) Q_DECLARE_METATYPE(QHttpMultiPart *) Q_DECLARE_METATYPE(QList) // for multiparts -#ifndef QT_NO_SSL -Q_DECLARE_METATYPE(QSslConfiguration) -#endif typedef QSharedPointer QNetworkReplyPtr; -- cgit v1.2.3