diff options
-rw-r--r-- | src/network/access/qnetworkaccessmanager.cpp | 42 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessmanager.h | 1 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessmanager_p.h | 9 | ||||
-rw-r--r-- | tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp | 35 |
4 files changed, 19 insertions, 68 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index e55dc9ad84..840c817d1d 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -357,22 +357,8 @@ static void ensureInitialized() QNetworkAccessManager::QNetworkAccessManager(QObject *parent) : QObject(*new QNetworkAccessManagerPrivate, parent) { - Q_D(QNetworkAccessManager); ensureInitialized(); -#ifndef QT_NO_BEARERMANAGEMENT - if (!d->networkSessionRequired) { - // if a session is required, we track online state through - // the QNetworkSession's signals - connect(&d->networkConfigurationManager, SIGNAL(onlineStateChanged(bool)), - SLOT(_q_onlineStateChanged(bool))); - // we would need all configurations to check for - // d->networkConfigurationManager.isOnline(), which is asynchronous - // and potentially expensive. We can just check here - d->online = (d->networkConfiguration.state() & QNetworkConfiguration::Active); - } -#endif - qRegisterMetaType<QNetworkReply::NetworkError>("QNetworkReply::NetworkError"); } @@ -773,8 +759,9 @@ void QNetworkAccessManager::setConfiguration(const QNetworkConfiguration &config { Q_D(QNetworkAccessManager); d->networkConfiguration = config; + QNetworkConfigurationManager manager; d->customNetworkConfiguration = true; - if (d->networkConfigurationManager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) + if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) d->createSession(config); } @@ -857,23 +844,16 @@ QNetworkAccessManager::NetworkAccessibility QNetworkAccessManager::networkAccess { Q_D(const QNetworkAccessManager); - if (d->networkSessionRequired) { - QSharedPointer<QNetworkSession> networkSession(d->getNetworkSession()); - if (networkSession) { - // d->online holds online/offline state of this network session. - if (d->online) - return d->networkAccessible; - else - return NotAccessible; - } else { - // Network accessibility is either disabled or unknown. - return (d->networkAccessible == NotAccessible) ? NotAccessible : UnknownAccessibility; - } - } else { + QSharedPointer<QNetworkSession> networkSession(d->getNetworkSession()); + if (networkSession) { + // d->online holds online/offline state of this network session. if (d->online) return d->networkAccessible; else return NotAccessible; + } else { + // Network accessibility is either disabled or unknown. + return (d->networkAccessible == NotAccessible) ? NotAccessible : UnknownAccessibility; } } @@ -1296,12 +1276,6 @@ void QNetworkAccessManagerPrivate::_q_networkSessionStateChanged(QNetworkSession } } } - -void QNetworkAccessManagerPrivate::_q_onlineStateChanged(bool isOnline) -{ - online = isOnline; -} - #endif // QT_NO_BEARERMANAGEMENT QNetworkRequest QNetworkAccessManagerPrivate::prepareMultipart(const QNetworkRequest &request, QHttpMultiPart *multiPart) diff --git a/src/network/access/qnetworkaccessmanager.h b/src/network/access/qnetworkaccessmanager.h index 8429c892e4..147714ba3b 100644 --- a/src/network/access/qnetworkaccessmanager.h +++ b/src/network/access/qnetworkaccessmanager.h @@ -167,7 +167,6 @@ private: #if !defined(QT_NO_BEARERMANAGEMENT) && !defined(QT_MOBILITY_BEARER) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionClosed()) Q_PRIVATE_SLOT(d_func(), void _q_networkSessionStateChanged(QNetworkSession::State)) - Q_PRIVATE_SLOT(d_func(), void _q_onlineStateChanged(bool)) #endif }; diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h index 520e9796f0..6a6c5fb0cc 100644 --- a/src/network/access/qnetworkaccessmanager_p.h +++ b/src/network/access/qnetworkaccessmanager_p.h @@ -60,9 +60,6 @@ #include "QtNetwork/qnetworkproxy.h" #include "QtNetwork/qnetworksession.h" #include "qnetworkaccessauthenticationmanager_p.h" -#ifndef QT_NO_BEARERMANAGEMENT -#include "QtNetwork/qnetworkconfigmanager.h" -#endif QT_BEGIN_NAMESPACE @@ -83,9 +80,6 @@ public: #ifndef QT_NO_BEARERMANAGEMENT lastSessionState(QNetworkSession::Invalid), customNetworkConfiguration(false), - networkConfiguration(networkConfigurationManager.defaultConfiguration()), - networkSessionRequired(networkConfigurationManager.capabilities() - & QNetworkConfigurationManager::NetworkSessionRequired), networkAccessible(QNetworkAccessManager::Accessible), activeReplyCount(0), online(false), @@ -126,7 +120,6 @@ public: void _q_networkSessionPreferredConfigurationChanged(const QNetworkConfiguration &config, bool isSeamless); void _q_networkSessionStateChanged(QNetworkSession::State state); - void _q_onlineStateChanged(bool isOnline); #endif QNetworkRequest prepareMultipart(const QNetworkRequest &request, QHttpMultiPart *multiPart); @@ -148,12 +141,10 @@ public: QSharedPointer<QNetworkSession> networkSessionStrongRef; QWeakPointer<QNetworkSession> networkSessionWeakRef; QNetworkSession::State lastSessionState; - QNetworkConfigurationManager networkConfigurationManager; QNetworkConfiguration networkConfiguration; // we need to track whether the user set a config or not, // because the default config might change bool customNetworkConfiguration; - bool networkSessionRequired; QNetworkAccessManager::NetworkAccessibility networkAccessible; int activeReplyCount; bool online; diff --git a/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp b/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp index ab043b3fe2..0393b3dbc8 100644 --- a/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp +++ b/tests/auto/qnetworkaccessmanager/tst_qnetworkaccessmanager.cpp @@ -72,43 +72,30 @@ void tst_QNetworkAccessManager::networkAccessible() QSignalSpy spy(&manager, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility))); - // if there is no session, we cannot know in which state we are in - QNetworkAccessManager::NetworkAccessibility initialAccessibility = - manager.networkAccessible(); - QCOMPARE(manager.networkAccessible(), initialAccessibility); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::UnknownAccessibility); manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible); - int expectedCount = (initialAccessibility == QNetworkAccessManager::Accessible) ? 1 : 0; - QCOMPARE(spy.count(), expectedCount); - if (expectedCount > 0) - QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(), - QNetworkAccessManager::NotAccessible); + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(), + QNetworkAccessManager::NotAccessible); QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::NotAccessible); manager.setNetworkAccessible(QNetworkAccessManager::Accessible); - QCOMPARE(spy.count(), expectedCount); - if (expectedCount > 0) - QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(), - initialAccessibility); - QCOMPARE(manager.networkAccessible(), initialAccessibility); + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(), + QNetworkAccessManager::UnknownAccessibility); + QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::UnknownAccessibility); QNetworkConfigurationManager configManager; - bool sessionRequired = (configManager.capabilities() - & QNetworkConfigurationManager::NetworkSessionRequired); QNetworkConfiguration defaultConfig = configManager.defaultConfiguration(); if (defaultConfig.isValid()) { manager.setConfiguration(defaultConfig); - // the accessibility has not changed if no session is required - if (sessionRequired) { - QCOMPARE(spy.count(), 1); - QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(), - QNetworkAccessManager::Accessible); - } else { - QCOMPARE(spy.count(), 0); - } + QCOMPARE(spy.count(), 1); + QCOMPARE(spy.takeFirst().at(0).value<QNetworkAccessManager::NetworkAccessibility>(), + QNetworkAccessManager::Accessible); QCOMPARE(manager.networkAccessible(), QNetworkAccessManager::Accessible); manager.setNetworkAccessible(QNetworkAccessManager::NotAccessible); |