summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-07-20 10:56:54 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-25 19:32:41 +0200
commit79b742b7e01ba5fa46b45578660d0e1f9ce0dae6 (patch)
treec17e06e84aed38d294e9d02ecca36bf51b4fc2a8 /src/network
parent7d110111da72f9af5c94b66d402c18355bc16fda (diff)
QtNetwork: use nullary version of qRegisterMetaType<T>("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>("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 <stephen.kelly@kdab.com>
Diffstat (limited to 'src/network')
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp2
-rw-r--r--src/network/access/qhttpnetworkrequest_p.h2
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp16
-rw-r--r--src/network/access/qnetworkreply.h2
-rw-r--r--src/network/access/qnetworkreplyhttpimpl.cpp2
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp4
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h2
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp4
-rw-r--r--src/network/bearer/qnetworkconfiguration.h3
-rw-r--r--src/network/bearer/qnetworkconfiguration_p.h2
-rw-r--r--src/network/kernel/qhostinfo.cpp2
-rw-r--r--src/network/kernel/qhostinfo.h2
-rw-r--r--src/network/kernel/qnetworkproxy.h2
-rw-r--r--src/network/socket/qabstractsocket.h3
-rw-r--r--src/network/ssl/qsslcertificate.h2
-rw-r--r--src/network/ssl/qsslconfiguration.h2
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp4
17 files changed, 35 insertions, 21 deletions
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 9cbdcd65bd..be2be048bc 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -125,7 +125,7 @@ void QHttpNetworkConnectionChannel::init()
// will then emit a signal to the user of QNetworkReply
// but cannot be caught because the user did not have a chance yet
// to connect to QNetworkReply's signals.
- qRegisterMetaType<QAbstractSocket::SocketError>("QAbstractSocket::SocketError");
+ qRegisterMetaType<QAbstractSocket::SocketError>();
QObject::connect(socket, SIGNAL(disconnected()),
this, SLOT(_q_disconnected()),
Qt::QueuedConnection);
diff --git a/src/network/access/qhttpnetworkrequest_p.h b/src/network/access/qhttpnetworkrequest_p.h
index d6d9c69bea..1ae6015d8d 100644
--- a/src/network/access/qhttpnetworkrequest_p.h
+++ b/src/network/access/qhttpnetworkrequest_p.h
@@ -155,6 +155,8 @@ public:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QHttpNetworkRequest)
+
#endif // QT_NO_HTTP
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index d5b4eec0ed..dd7bfe1bfc 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -407,20 +407,20 @@ QNetworkAccessManager::QNetworkAccessManager(QObject *parent)
{
ensureInitialized();
- qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError");
+ qRegisterMetaType<QNetworkReply::NetworkError>();
#ifndef QT_NO_NETWORKPROXY
- qRegisterMetaType<QNetworkProxy>("QNetworkProxy");
+ qRegisterMetaType<QNetworkProxy>();
#endif
#ifndef QT_NO_SSL
- qRegisterMetaType<QList<QSslError> >("QList<QSslError>");
- qRegisterMetaType<QSslConfiguration>("QSslConfiguration");
+ qRegisterMetaType<QList<QSslError> >();
+ qRegisterMetaType<QSslConfiguration>();
#endif
- qRegisterMetaType<QList<QPair<QByteArray,QByteArray> > >("QList<QPair<QByteArray,QByteArray> >");
+ qRegisterMetaType<QList<QPair<QByteArray,QByteArray> > >();
#ifndef QT_NO_HTTP
- qRegisterMetaType<QHttpNetworkRequest>("QHttpNetworkRequest");
+ qRegisterMetaType<QHttpNetworkRequest>();
#endif
- qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError");
- qRegisterMetaType<QSharedPointer<char> >("QSharedPointer<char>");
+ qRegisterMetaType<QNetworkReply::NetworkError>();
+ qRegisterMetaType<QSharedPointer<char> >();
}
/*!
diff --git a/src/network/access/qnetworkreply.h b/src/network/access/qnetworkreply.h
index cc3a41af4e..f6327fd012 100644
--- a/src/network/access/qnetworkreply.h
+++ b/src/network/access/qnetworkreply.h
@@ -180,6 +180,8 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QNetworkReply::NetworkError)
+
QT_END_HEADER
#endif
diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp
index 088442d62d..44129c6bb2 100644
--- a/src/network/access/qnetworkreplyhttpimpl.cpp
+++ b/src/network/access/qnetworkreplyhttpimpl.cpp
@@ -63,8 +63,6 @@
#include <string.h> // for strchr
-Q_DECLARE_METATYPE(QSharedPointer<char>)
-
QT_BEGIN_NAMESPACE
class QNetworkProxy;
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index d0393475de..6d5c9b2ce3 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -52,8 +52,6 @@
#include <QtCore/QCoreApplication>
-Q_DECLARE_METATYPE(QSharedPointer<char>)
-
QT_BEGIN_NAMESPACE
inline QNetworkReplyImplPrivate::QNetworkReplyImplPrivate()
@@ -1134,7 +1132,7 @@ QDisabledNetworkReply::QDisabledNetworkReply(QObject *parent,
setUrl(req.url());
setOperation(op);
- qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError");
+ qRegisterMetaType<QNetworkReply::NetworkError>();
QString msg = QCoreApplication::translate("QNetworkAccessManager",
"Network access is disabled.");
diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h
index a4c1f73b06..a3705f72d3 100644
--- a/src/network/access/qnetworkreplyimpl_p.h
+++ b/src/network/access/qnetworkreplyimpl_p.h
@@ -239,4 +239,6 @@ protected:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QSharedPointer<char>)
+
#endif
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index e44b6897ed..c501280014 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -62,8 +62,8 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
QNetworkConfigurationManagerPrivate::QNetworkConfigurationManagerPrivate()
: QObject(), pollTimer(0), mutex(QMutex::Recursive), forcedPolling(0), firstUpdate(true)
{
- qRegisterMetaType<QNetworkConfiguration>("QNetworkConfiguration");
- qRegisterMetaType<QNetworkConfigurationPrivatePointer>("QNetworkConfigurationPrivatePointer");
+ qRegisterMetaType<QNetworkConfiguration>();
+ qRegisterMetaType<QNetworkConfigurationPrivatePointer>();
}
void QNetworkConfigurationManagerPrivate::initialize()
diff --git a/src/network/bearer/qnetworkconfiguration.h b/src/network/bearer/qnetworkconfiguration.h
index 807589cf45..207b50379b 100644
--- a/src/network/bearer/qnetworkconfiguration.h
+++ b/src/network/bearer/qnetworkconfiguration.h
@@ -47,6 +47,7 @@
#include <QtCore/qshareddata.h>
#include <QtCore/qstring.h>
#include <QtCore/qlist.h>
+#include <QtCore/qmetatype.h>
QT_BEGIN_HEADER
@@ -125,6 +126,8 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QNetworkConfiguration)
+
QT_END_HEADER
#endif // QNETWORKCONFIGURATION_H
diff --git a/src/network/bearer/qnetworkconfiguration_p.h b/src/network/bearer/qnetworkconfiguration_p.h
index 47174a1eab..e47ef613e5 100644
--- a/src/network/bearer/qnetworkconfiguration_p.h
+++ b/src/network/bearer/qnetworkconfiguration_p.h
@@ -99,4 +99,6 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QNetworkConfigurationPrivatePointer)
+
#endif // QNETWORKCONFIGURATIONPRIVATE_H
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
index 32cf90145c..21ce2bac9a 100644
--- a/src/network/kernel/qhostinfo.cpp
+++ b/src/network/kernel/qhostinfo.cpp
@@ -159,7 +159,7 @@ int QHostInfo::lookupHost(const QString &name, QObject *receiver,
return -1;
}
- qRegisterMetaType<QHostInfo>("QHostInfo");
+ qRegisterMetaType<QHostInfo>();
int id = theIdCounter.fetchAndAddRelaxed(1); // generate unique ID
diff --git a/src/network/kernel/qhostinfo.h b/src/network/kernel/qhostinfo.h
index 2fc87f3bdc..602d4dad75 100644
--- a/src/network/kernel/qhostinfo.h
+++ b/src/network/kernel/qhostinfo.h
@@ -96,6 +96,8 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QHostInfo)
+
QT_END_HEADER
#endif // QHOSTINFO_H
diff --git a/src/network/kernel/qnetworkproxy.h b/src/network/kernel/qnetworkproxy.h
index 5287546849..2954ad3d71 100644
--- a/src/network/kernel/qnetworkproxy.h
+++ b/src/network/kernel/qnetworkproxy.h
@@ -215,6 +215,8 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QNetworkProxy &proxy);
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QNetworkProxy)
+
QT_END_HEADER
#endif // QT_NO_NETWORKPROXY
diff --git a/src/network/socket/qabstractsocket.h b/src/network/socket/qabstractsocket.h
index dedde9649a..c384336b11 100644
--- a/src/network/socket/qabstractsocket.h
+++ b/src/network/socket/qabstractsocket.h
@@ -238,6 +238,9 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug, QAbstractSocket::SocketState);
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QAbstractSocket::SocketState)
+Q_DECLARE_METATYPE(QAbstractSocket::SocketError)
+
QT_END_HEADER
#endif // QABSTRACTSOCKET_H
diff --git a/src/network/ssl/qsslcertificate.h b/src/network/ssl/qsslcertificate.h
index a0ec195b6a..08df58bae8 100644
--- a/src/network/ssl/qsslcertificate.h
+++ b/src/network/ssl/qsslcertificate.h
@@ -158,6 +158,8 @@ Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, QSslCertificate::SubjectInfo in
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QSslCertificate)
+
QT_END_HEADER
#endif
diff --git a/src/network/ssl/qsslconfiguration.h b/src/network/ssl/qsslconfiguration.h
index d57ba38561..dea32f837c 100644
--- a/src/network/ssl/qsslconfiguration.h
+++ b/src/network/ssl/qsslconfiguration.h
@@ -138,6 +138,8 @@ private:
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QSslConfiguration)
+
QT_END_HEADER
#endif
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 83071f2c7a..a23e3fa377 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -60,10 +60,6 @@
#include <QtCore/qvarlengtharray.h>
#include <QLibrary> // for loading the security lib for the CA store
-#ifdef Q_OS_WIN
-Q_DECLARE_METATYPE(QSslCertificate);
-#endif
-
QT_BEGIN_NAMESPACE
#if defined(Q_OS_MAC) && !defined(Q_OS_IOS)