diff options
Diffstat (limited to 'src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp')
-rw-r--r-- | src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 118 |
1 files changed, 46 insertions, 72 deletions
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index 59a6d107dc..543e66491d 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -127,7 +127,8 @@ void QNetworkManagerEngine::setupConfigurations() { QMutexLocker locker(&mutex); // Get active connections. - foreach (const QDBusObjectPath &acPath, managerInterface->activeConnections()) { + const auto acPaths = managerInterface->activeConnections(); + for (const QDBusObjectPath &acPath : acPaths) { if (activeConnectionsList.contains(acPath.path())) continue; @@ -144,8 +145,10 @@ void QNetworkManagerEngine::setupConfigurations() connectionInterfaces.insert(activeConnection->connection().path(),device.networkInterface()); } } + // Get connections. - foreach (const QDBusObjectPath &settingsPath, systemSettings->listConnections()) { + const auto settingsPaths = systemSettings->listConnections(); + for (const QDBusObjectPath &settingsPath : settingsPaths) { locker.unlock(); if (!hasIdentifier(settingsPath.path())) newConnection(settingsPath, systemSettings); //add system connection configs @@ -189,21 +192,13 @@ void QNetworkManagerEngine::connectToId(const QString &id) if (isConnectionActive(settingsPath)) return; - QHashIterator<QString, QNetworkManagerInterfaceDevice*> i(interfaceDevices); - while (i.hasNext()) { - i.next(); - if (i.value()->deviceType() == DEVICE_TYPE_ETHERNET && - connectionType == DEVICE_TYPE_ETHERNET) { - dbusDevicePath = i.key(); - break; - } else if (i.value()->deviceType() == DEVICE_TYPE_WIFI && - connectionType == DEVICE_TYPE_WIFI) { - dbusDevicePath = i.key(); - break; - } else if (i.value()->deviceType() == DEVICE_TYPE_MODEM && - connectionType == DEVICE_TYPE_MODEM) { - dbusDevicePath = i.key(); - break; + for (auto i = interfaceDevices.cbegin(), end = interfaceDevices.cend(); i != end; ++i) { + const auto type = i.value()->deviceType(); + if (type == DEVICE_TYPE_ETHERNET || type == DEVICE_TYPE_WIFI || type == DEVICE_TYPE_MODEM) { + if (type == connectionType) { + dbusDevicePath = i.key(); + break; + } } } @@ -230,9 +225,7 @@ void QNetworkManagerEngine::disconnectFromId(const QString &id) return; } - QHashIterator<QString, QNetworkManagerConnectionActive*> i(activeConnectionsList); - while (i.hasNext()) { - i.next(); + for (auto i = activeConnectionsList.cbegin(), end = activeConnectionsList.cend(); i != end; ++i) { if (id == i.value()->connection().path() && accessPointConfigurations.contains(id)) { managerInterface->deactivateConnection(QDBusObjectPath(i.key())); break; @@ -243,11 +236,8 @@ void QNetworkManagerEngine::disconnectFromId(const QString &id) void QNetworkManagerEngine::requestUpdate() { if (managerInterface && managerInterface->wirelessEnabled()) { - QHashIterator<QString, QNetworkManagerInterfaceDeviceWireless *> i(wirelessDevices); - while (i.hasNext()) { - i.next(); - i.value()->requestScan(); - } + for (auto *wirelessDevice : qAsConst(wirelessDevices)) + wirelessDevice->requestScan(); } QMetaObject::invokeMethod(this, "updateCompleted", Qt::QueuedConnection); } @@ -255,20 +245,17 @@ void QNetworkManagerEngine::requestUpdate() void QNetworkManagerEngine::interfacePropertiesChanged(const QMap<QString, QVariant> &properties) { QMutexLocker locker(&mutex); - QMapIterator<QString, QVariant> i(properties); - while (i.hasNext()) { - i.next(); + for (auto i = properties.cbegin(), end = properties.cend(); i != end; ++i) { if (i.key() == QLatin1String("ActiveConnections")) { // Active connections changed, update configurations. - QList<QDBusObjectPath> activeConnections = - qdbus_cast<QList<QDBusObjectPath> >(i.value().value<QDBusArgument>()); + const auto activeConnections = qdbus_cast<QList<QDBusObjectPath> >(i.value().value<QDBusArgument>()); QStringList identifiers = accessPointConfigurations.keys(); QStringList priorActiveConnections = activeConnectionsList.keys(); - foreach (const QDBusObjectPath &acPath, activeConnections) { + for (const QDBusObjectPath &acPath : activeConnections) { priorActiveConnections.removeOne(acPath.path()); QNetworkManagerConnectionActive *activeConnection = activeConnectionsList.value(acPath.path()); @@ -399,7 +386,8 @@ void QNetworkManagerEngine::wiredCarrierChanged(bool carrier) if (!deviceWired) return; QMutexLocker locker(&mutex); - foreach (const QDBusObjectPath &settingsPath, systemSettings->listConnections()) { + const auto settingsPaths = systemSettings->listConnections(); + for (const QDBusObjectPath &settingsPath : settingsPaths) { for (int i = 0; i < connections.count(); ++i) { QNetworkManagerSettingsConnection *connection = connections.at(i); if (connection->getType() == DEVICE_TYPE_ETHERNET @@ -477,12 +465,9 @@ void QNetworkManagerEngine::newConnection(const QDBusObjectPath &path, cpPriv->state |= QNetworkConfiguration::Active; if (deviceType == DEVICE_TYPE_ETHERNET) { - QHashIterator<QString, QNetworkManagerInterfaceDevice*> i(interfaceDevices); - while (i.hasNext()) { - i.next(); - if (i.value()->deviceType() == deviceType) { - QNetworkManagerInterfaceDeviceWired *wiredDevice - = wiredDevices.value(i.value()->path()); + for (const auto *interfaceDevice : interfaceDevices) { + if (interfaceDevice->deviceType() == deviceType) { + auto *wiredDevice = wiredDevices.value(interfaceDevice->path()); if (wiredDevice && wiredDevice->carrier()) { cpPriv->state |= QNetworkConfiguration::Discovered; } @@ -496,14 +481,13 @@ void QNetworkManagerEngine::newConnection(const QDBusObjectPath &path, emit configurationAdded(ptr); } -bool QNetworkManagerEngine::isConnectionActive(const QString &settingsPath) +bool QNetworkManagerEngine::isConnectionActive(const QString &settingsPath) const { - QHashIterator<QString, QNetworkManagerConnectionActive*> i(activeConnectionsList); - while (i.hasNext()) { - i.next(); - if (i.value()->connection().path() == settingsPath) { - if (i.value()->state() == NM_ACTIVE_CONNECTION_STATE_ACTIVATING - || i.value()->state() == NM_ACTIVE_CONNECTION_STATE_ACTIVATED) { + for (QNetworkManagerConnectionActive *activeConnection : activeConnectionsList) { + if (activeConnection->connection().path() == settingsPath) { + const auto state = activeConnection->state(); + if (state == NM_ACTIVE_CONNECTION_STATE_ACTIVATING + || state == NM_ACTIVE_CONNECTION_STATE_ACTIVATED) { return true; } else { break; @@ -560,7 +544,8 @@ void QNetworkManagerEngine::updateConnection() QNetworkConfigurationPrivate *cpPriv = parseConnection(settingsPath, connection->getSettings()); // Check if connection is active. - foreach (const QDBusObjectPath &acPath, managerInterface->activeConnections()) { + const auto acPaths = managerInterface->activeConnections(); + for (const QDBusObjectPath &acPath : acPaths) { QNetworkManagerConnectionActive activeConnection(acPath.path()); if (activeConnection.connection().path() == settingsPath && @@ -636,7 +621,8 @@ QNetworkConfigurationPrivate *QNetworkManagerEngine::parseConnection(const QStri if (connectionType == QLatin1String("802-3-ethernet")) { cpPriv->bearerType = QNetworkConfiguration::BearerEthernet; - foreach (const QDBusObjectPath &devicePath, managerInterface->getDevices()) { + const auto devicePaths = managerInterface->getDevices(); + for (const QDBusObjectPath &devicePath : devicePaths) { QNetworkManagerInterfaceDevice device(devicePath.path(),this); if (device.deviceType() == DEVICE_TYPE_ETHERNET) { QNetworkManagerInterfaceDeviceWired *wiredDevice = wiredDevices.value(device.path()); @@ -678,9 +664,7 @@ QNetworkConfigurationPrivate *QNetworkManagerEngine::parseConnection(const QStri if (ofonoManager && ofonoManager->isValid()) { const QString contextPart = connectionPath.section('/', -1); - QHashIterator<QString, QOfonoDataConnectionManagerInterface*> i(ofonoContextManagers); - while (i.hasNext()) { - i.next(); + for (auto i = ofonoContextManagers.cbegin(), end = ofonoContextManagers.cend(); i != end; ++i) { const QString path = i.key() + QLatin1Char('/') +contextPart; if (isActiveContext(path)) { cpPriv->state |= QNetworkConfiguration::Active; @@ -693,14 +677,12 @@ QNetworkConfigurationPrivate *QNetworkManagerEngine::parseConnection(const QStri return cpPriv; } -bool QNetworkManagerEngine::isActiveContext(const QString &contextPath) +bool QNetworkManagerEngine::isActiveContext(const QString &contextPath) const { if (ofonoManager && ofonoManager->isValid()) { const QString contextPart = contextPath.section('/', -1); - QHashIterator<QString, QOfonoDataConnectionManagerInterface*> i(ofonoContextManagers); - while (i.hasNext()) { - i.next(); - PathPropertiesList list = i.value()->contextsWithProperties(); + for (QOfonoDataConnectionManagerInterface *iface : ofonoContextManagers) { + const PathPropertiesList list = iface->contextsWithProperties(); for (int i = 0; i < list.size(); ++i) { if (list.at(i).path.path().contains(contextPart)) { return list.at(i).properties.value(QStringLiteral("Active")).toBool(); @@ -734,9 +716,7 @@ QNetworkSession::State QNetworkManagerEngine::sessionStateForId(const QString &i if (!ptr->isValid) return QNetworkSession::Invalid; - foreach (const QString &acPath, activeConnectionsList.keys()) { - QNetworkManagerConnectionActive *activeConnection = activeConnectionsList.value(acPath); - + for (QNetworkManagerConnectionActive *activeConnection : activeConnectionsList) { const QString identifier = activeConnection->connection().path(); if (id == identifier) { @@ -842,10 +822,7 @@ QNetworkSessionPrivate *QNetworkManagerEngine::createSessionBackend() QNetworkConfigurationPrivatePointer QNetworkManagerEngine::defaultConfiguration() { - QHashIterator<QString, QNetworkManagerConnectionActive*> i(activeConnectionsList); - while (i.hasNext()) { - i.next(); - QNetworkManagerConnectionActive *activeConnection = i.value(); + for (QNetworkManagerConnectionActive *activeConnection : qAsConst(activeConnectionsList)) { if ((activeConnection->defaultRoute() || activeConnection->default6Route())) { return accessPointConfigurations.value(activeConnection->connection().path()); } @@ -854,12 +831,10 @@ QNetworkConfigurationPrivatePointer QNetworkManagerEngine::defaultConfiguration( return QNetworkConfigurationPrivatePointer(); } -QNetworkConfiguration::BearerType QNetworkManagerEngine::currentBearerType(const QString &id) +QNetworkConfiguration::BearerType QNetworkManagerEngine::currentBearerType(const QString &id) const { QString contextPart = id.section('/', -1); - QHashIterator<QString, QOfonoDataConnectionManagerInterface*> i(ofonoContextManagers); - while (i.hasNext()) { - i.next(); + for (auto i = ofonoContextManagers.begin(), end = ofonoContextManagers.end(); i != end; ++i) { QString contextPath = i.key() + QLatin1Char('/') +contextPart; if (i.value()->contexts().contains(contextPath)) { @@ -885,13 +860,11 @@ QNetworkConfiguration::BearerType QNetworkManagerEngine::currentBearerType(const return QNetworkConfiguration::BearerUnknown; } -QString QNetworkManagerEngine::contextName(const QString &path) +QString QNetworkManagerEngine::contextName(const QString &path) const { QString contextPart = path.section('/', -1); - QHashIterator<QString, QOfonoDataConnectionManagerInterface*> i(ofonoContextManagers); - while (i.hasNext()) { - i.next(); - PathPropertiesList list = i.value()->contextsWithProperties(); + for (QOfonoDataConnectionManagerInterface *iface : ofonoContextManagers) { + const PathPropertiesList list = iface->contextsWithProperties(); for (int i = 0; i < list.size(); ++i) { if (list.at(i).path.path().contains(contextPart)) { return list.at(i).properties.value(QStringLiteral("Name")).toString(); @@ -944,7 +917,8 @@ void QNetworkManagerEngine::ofonoRegistered(const QString &) } ofonoManager = new QOfonoManagerInterface(this); if (ofonoManager && ofonoManager->isValid()) { - Q_FOREACH (const QString &modem, ofonoManager->getModems()) { + const auto modems = ofonoManager->getModems(); + for (const QString &modem : modems) { QOfonoDataConnectionManagerInterface *ofonoContextManager = new QOfonoDataConnectionManagerInterface(modem,this); ofonoContextManagers.insert(modem, ofonoContextManager); |