QtNetwork: eradicate Q_FOREACH loops [needing qAsConst()]

... by replacing them with C++11 range-for loops.
To avoid detaches of these mutable Qt containers,
wrap the container in qAsConst().

Change-Id: I47c5308a6ad220b4c5495e55a3b0d38547bfa8d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
This commit is contained in:
Marc Mutz 2016-01-26 14:38:54 +01:00
parent 036b404032
commit bac6da10dd
13 changed files with 23 additions and 41 deletions

View File

@ -751,7 +751,7 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq
} }
} }
foreach (const QByteArray &header, headers) for (const QByteArray &header : qAsConst(headers))
httpRequest.setHeaderField(header, newHttpRequest.rawHeader(header)); httpRequest.setHeaderField(header, newHttpRequest.rawHeader(header));
if (newHttpRequest.attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool()) if (newHttpRequest.attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool())

View File

@ -779,7 +779,7 @@ static QByteArray headerValue(QNetworkRequest::KnownHeaders header, const QVaria
QByteArray result; QByteArray result;
bool first = true; bool first = true;
foreach (const QNetworkCookie &cookie, cookies) { for (const QNetworkCookie &cookie : qAsConst(cookies)) {
if (!first) if (!first)
result += "; "; result += "; ";
first = false; first = false;
@ -795,7 +795,7 @@ static QByteArray headerValue(QNetworkRequest::KnownHeaders header, const QVaria
QByteArray result; QByteArray result;
bool first = true; bool first = true;
foreach (const QNetworkCookie &cookie, cookies) { for (const QNetworkCookie &cookie : qAsConst(cookies)) {
if (!first) if (!first)
result += ", "; result += ", ";
first = false; first = false;

View File

@ -115,15 +115,9 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(
QNetworkConfigurationPrivatePointer defaultConfiguration; QNetworkConfigurationPrivatePointer defaultConfiguration;
for (QBearerEngine *engine : sessionEngines) { for (QBearerEngine *engine : sessionEngines) {
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator it;
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator end;
QMutexLocker locker(&engine->mutex); QMutexLocker locker(&engine->mutex);
for (it = engine->snapConfigurations.begin(), for (const auto &ptr : qAsConst(engine->snapConfigurations)) {
end = engine->snapConfigurations.end(); it != end; ++it) {
QNetworkConfigurationPrivatePointer ptr = it.value();
QMutexLocker configLocker(&ptr->mutex); QMutexLocker configLocker(&ptr->mutex);
if ((ptr->state & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) { if ((ptr->state & QNetworkConfiguration::Active) == QNetworkConfiguration::Active) {
@ -157,14 +151,10 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(
*/ */
for (QBearerEngine *engine : sessionEngines) { for (QBearerEngine *engine : sessionEngines) {
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator it;
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator end;
QMutexLocker locker(&engine->mutex); QMutexLocker locker(&engine->mutex);
for (it = engine->accessPointConfigurations.begin(), for (const auto &ptr : qAsConst(engine->accessPointConfigurations)) {
end = engine->accessPointConfigurations.end(); it != end; ++it) {
QNetworkConfigurationPrivatePointer ptr = it.value();
QMutexLocker configLocker(&ptr->mutex); QMutexLocker configLocker(&ptr->mutex);
QNetworkConfiguration::BearerType bearerType = ptr->bearerType; QNetworkConfiguration::BearerType bearerType = ptr->bearerType;
@ -220,16 +210,11 @@ QList<QNetworkConfiguration> QNetworkConfigurationManagerPrivate::allConfigurati
QMutexLocker locker(&mutex); QMutexLocker locker(&mutex);
for (QBearerEngine *engine : sessionEngines) { for (QBearerEngine *engine : sessionEngines) {
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator it;
QHash<QString, QNetworkConfigurationPrivatePointer>::Iterator end;
QMutexLocker locker(&engine->mutex); QMutexLocker locker(&engine->mutex);
//find all InternetAccessPoints //find all InternetAccessPoints
for (it = engine->accessPointConfigurations.begin(), for (const auto &ptr : qAsConst(engine->accessPointConfigurations)) {
end = engine->accessPointConfigurations.end(); it != end; ++it) {
QNetworkConfigurationPrivatePointer ptr = it.value();
QMutexLocker configLocker(&ptr->mutex); QMutexLocker configLocker(&ptr->mutex);
if ((ptr->state & filter) == filter) { if ((ptr->state & filter) == filter) {
@ -240,10 +225,7 @@ QList<QNetworkConfiguration> QNetworkConfigurationManagerPrivate::allConfigurati
} }
//find all service networks //find all service networks
for (it = engine->snapConfigurations.begin(), for (const auto &ptr : qAsConst(engine->snapConfigurations)) {
end = engine->snapConfigurations.end(); it != end; ++it) {
QNetworkConfigurationPrivatePointer ptr = it.value();
QMutexLocker configLocker(&ptr->mutex); QMutexLocker configLocker(&ptr->mutex);
if ((ptr->state & filter) == filter) { if ((ptr->state & filter) == filter) {
@ -460,7 +442,7 @@ void QNetworkConfigurationManagerPrivate::performAsyncConfigurationUpdate()
updating = true; updating = true;
foreach (QBearerEngine *engine, sessionEngines) { for (QBearerEngine *engine : qAsConst(sessionEngines)) {
updatingEngines.insert(engine); updatingEngines.insert(engine);
QMetaObject::invokeMethod(engine, "requestUpdate"); QMetaObject::invokeMethod(engine, "requestUpdate");
} }
@ -490,7 +472,7 @@ void QNetworkConfigurationManagerPrivate::startPolling()
if (pollTimer->isActive()) if (pollTimer->isActive())
return; return;
foreach (QBearerEngine *engine, sessionEngines) { for (QBearerEngine *engine : qAsConst(sessionEngines)) {
if (engine->requiresPolling() && (forcedPolling || engine->configurationsInUse())) { if (engine->requiresPolling() && (forcedPolling || engine->configurationsInUse())) {
pollTimer->start(); pollTimer->start();
break; break;
@ -503,7 +485,7 @@ void QNetworkConfigurationManagerPrivate::pollEngines()
{ {
QMutexLocker locker(&mutex); QMutexLocker locker(&mutex);
foreach (QBearerEngine *engine, sessionEngines) { for (QBearerEngine *engine : qAsConst(sessionEngines)) {
if (engine->requiresPolling() && (forcedPolling || engine->configurationsInUse())) { if (engine->requiresPolling() && (forcedPolling || engine->configurationsInUse())) {
pollingEngines.insert(engine); pollingEngines.insert(engine);
QMetaObject::invokeMethod(engine, "requestUpdate"); QMetaObject::invokeMethod(engine, "requestUpdate");

View File

@ -146,7 +146,7 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
PCWSTR rawString = name.GetRawBuffer(&length); PCWSTR rawString = name.GetRawBuffer(&length);
addresses.insert(QHostAddress(QString::fromWCharArray(rawString, length))); addresses.insert(QHostAddress(QString::fromWCharArray(rawString, length)));
} }
foreach (const QHostAddress &address, addresses) { for (const QHostAddress &address : qAsConst(addresses)) {
QDnsHostAddressRecord record; QDnsHostAddressRecord record;
record.d->name = aceHostname; record.d->name = aceHostname;
record.d->value = address; record.d->value = address;

View File

@ -634,7 +634,7 @@ QList<QHostAddress> QNetworkInterface::allAddresses()
const QList<QSharedDataPointer<QNetworkInterfacePrivate> > privs = manager()->allInterfaces(); const QList<QSharedDataPointer<QNetworkInterfacePrivate> > privs = manager()->allInterfaces();
QList<QHostAddress> result; QList<QHostAddress> result;
for (const auto &p : privs) { for (const auto &p : privs) {
foreach (const QNetworkAddressEntry &entry, p->addressEntries) for (const QNetworkAddressEntry &entry : qAsConst(p->addressEntries))
result += entry.ip(); result += entry.ip();
} }

View File

@ -392,9 +392,9 @@ public:
} }
void clear() { void clear() {
foreach (HANDLE event, m_watchEvents) for (HANDLE event : qAsConst(m_watchEvents))
CloseHandle(event); CloseHandle(event);
foreach (HKEY key, m_registryHandles) for (HKEY key : qAsConst(m_registryHandles))
RegCloseKey(key); RegCloseKey(key);
m_watchEvents.clear(); m_watchEvents.clear();

View File

@ -919,7 +919,7 @@ void QAbstractSocketPrivate::resolveProxy(const QString &hostname, quint16 port)
} }
// return the first that we can use // return the first that we can use
foreach (const QNetworkProxy &p, proxies) { for (const QNetworkProxy &p : qAsConst(proxies)) {
if (socketType == QAbstractSocket::UdpSocket && if (socketType == QAbstractSocket::UdpSocket &&
(p.capabilities() & QNetworkProxy::UdpTunnelingCapability) == 0) (p.capabilities() & QNetworkProxy::UdpTunnelingCapability) == 0)
continue; continue;

View File

@ -153,7 +153,7 @@ QNetworkProxy QTcpServerPrivate::resolveProxy(const QHostAddress &address, quint
} }
// return the first that we can use // return the first that we can use
foreach (const QNetworkProxy &p, proxies) { for (const QNetworkProxy &p : qAsConst(proxies)) {
if (p.capabilities() & QNetworkProxy::ListeningCapability) if (p.capabilities() & QNetworkProxy::ListeningCapability)
return p; return p;
} }

View File

@ -298,7 +298,7 @@ init_context:
// If we have any intermediate certificates then we need to add them to our chain // If we have any intermediate certificates then we need to add them to our chain
bool first = true; bool first = true;
foreach (const QSslCertificate &cert, configuration.d->localCertificateChain) { for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
if (first) { if (first) {
first = false; first = false;
continue; continue;

View File

@ -1227,7 +1227,7 @@ bool QSslSocketBackendPrivate::verifyPeerTrust()
} }
// check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer) // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer)
foreach (const QSslCertificate &cert, configuration.peerCertificateChain) { for (const QSslCertificate &cert : qAsConst(configuration.peerCertificateChain)) {
if (QSslCertificatePrivate::isBlacklisted(cert) && !canIgnoreVerify) { if (QSslCertificatePrivate::isBlacklisted(cert) && !canIgnoreVerify) {
const QSslError error(QSslError::CertificateBlacklisted, cert); const QSslError error(QSslError::CertificateBlacklisted, cert);
errors << error; errors << error;
@ -1271,7 +1271,7 @@ bool QSslSocketBackendPrivate::verifyPeerTrust()
// verify certificate chain // verify certificate chain
QCFType<CFMutableArrayRef> certArray = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks); QCFType<CFMutableArrayRef> certArray = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
foreach (const QSslCertificate &cert, configuration.caCertificates) { for (const QSslCertificate &cert : qAsConst(configuration.caCertificates)) {
QCFType<CFDataRef> certData = cert.d->derData.toCFData(); QCFType<CFDataRef> certData = cert.d->derData.toCFData();
QCFType<SecCertificateRef> certRef = SecCertificateCreateWithData(NULL, certData); QCFType<SecCertificateRef> certRef = SecCertificateCreateWithData(NULL, certData);
CFArrayAppendValue(certArray, certRef); CFArrayAppendValue(certArray, certRef);

View File

@ -1101,7 +1101,7 @@ bool QSslSocketBackendPrivate::startHandshake()
QList<QSslError> errors; QList<QSslError> errors;
// check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer) // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer)
foreach (const QSslCertificate &cert, configuration.peerCertificateChain) { for (const QSslCertificate &cert : qAsConst(configuration.peerCertificateChain)) {
if (QSslCertificatePrivate::isBlacklisted(cert)) { if (QSslCertificatePrivate::isBlacklisted(cert)) {
QSslError error(QSslError::CertificateBlacklisted, cert); QSslError error(QSslError::CertificateBlacklisted, cert);
errors << error; errors << error;

View File

@ -558,7 +558,7 @@ static QStringList findAllLibs(QLatin1String filter)
QStringList entryList = dir.entryList(filters, QDir::Files); QStringList entryList = dir.entryList(filters, QDir::Files);
std::sort(entryList.begin(), entryList.end(), LibGreaterThan()); std::sort(entryList.begin(), entryList.end(), LibGreaterThan());
foreach (const QString &entry, entryList) for (const QString &entry : qAsConst(entryList))
found << path + QLatin1Char('/') + entry; found << path + QLatin1Char('/') + entry;
} }

View File

@ -615,7 +615,7 @@ HRESULT QSslSocketBackendPrivate::onSslUpgrade(IAsyncAction *action, AsyncStatus
} }
// Peer chain validation // Peer chain validation
foreach (const QSslCertificate &certificate, peerCertificateChain) { for (const QSslCertificate &certificate : qAsConst(peerCertificateChain)) {
if (!QSslCertificatePrivate::isBlacklisted(certificate)) if (!QSslCertificatePrivate::isBlacklisted(certificate))
continue; continue;
@ -629,7 +629,7 @@ HRESULT QSslSocketBackendPrivate::onSslUpgrade(IAsyncAction *action, AsyncStatus
setErrorAndEmit(QAbstractSocket::SslHandshakeFailedError, sslErrors.first().errorString()); setErrorAndEmit(QAbstractSocket::SslHandshakeFailedError, sslErrors.first().errorString());
// Disconnect if there are any non-ignorable errors // Disconnect if there are any non-ignorable errors
foreach (const QSslError &error, sslErrors) { for (const QSslError &error : qAsConst(sslErrors)) {
if (ignoreErrorsList.contains(error)) if (ignoreErrorsList.contains(error))
continue; continue;
q->disconnectFromHost(); q->disconnectFromHost();