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));
if (newHttpRequest.attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool())

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -153,7 +153,7 @@ QNetworkProxy QTcpServerPrivate::resolveProxy(const QHostAddress &address, quint
}
// return the first that we can use
foreach (const QNetworkProxy &p, proxies) {
for (const QNetworkProxy &p : qAsConst(proxies)) {
if (p.capabilities() & QNetworkProxy::ListeningCapability)
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
bool first = true;
foreach (const QSslCertificate &cert, configuration.d->localCertificateChain) {
for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
if (first) {
first = false;
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)
foreach (const QSslCertificate &cert, configuration.peerCertificateChain) {
for (const QSslCertificate &cert : qAsConst(configuration.peerCertificateChain)) {
if (QSslCertificatePrivate::isBlacklisted(cert) && !canIgnoreVerify) {
const QSslError error(QSslError::CertificateBlacklisted, cert);
errors << error;
@ -1271,7 +1271,7 @@ bool QSslSocketBackendPrivate::verifyPeerTrust()
// verify certificate chain
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<SecCertificateRef> certRef = SecCertificateCreateWithData(NULL, certData);
CFArrayAppendValue(certArray, certRef);

View File

@ -1101,7 +1101,7 @@ bool QSslSocketBackendPrivate::startHandshake()
QList<QSslError> errors;
// 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)) {
QSslError error(QSslError::CertificateBlacklisted, cert);
errors << error;

View File

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

View File

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