summaryrefslogtreecommitdiffstats
path: root/src/network/access/qnetworkaccessmanager_p.h
diff options
context:
space:
mode:
authorPeter Hartmann <phartmann@rim.com>2013-02-28 17:41:59 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-02 10:46:23 +0200
commit9efd40bd776e1c5e7ce9feeac63b3673250291b6 (patch)
tree0fce01aff439d9de2053616a9a5004f1867b5e76 /src/network/access/qnetworkaccessmanager_p.h
parent16269904a2e8f01b4f62929f9ab1d73f09c9b64f (diff)
QNetworkAccessManager: track online / accessible state without session
In particular, set online state right upon construction of the QNetworkAccessManager instance. Therefor, QNAM needs an instance of a QNetworkConfigurationManager internally. Before, this would only work properly if a network session was created. Now, networkAccessible() returns the correct status. Change-Id: I7ff9ccfd18ad376a131fc5977843b55bf185fba0 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Diffstat (limited to 'src/network/access/qnetworkaccessmanager_p.h')
-rw-r--r--src/network/access/qnetworkaccessmanager_p.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
index 45b05787dc..ec4fb24371 100644
--- a/src/network/access/qnetworkaccessmanager_p.h
+++ b/src/network/access/qnetworkaccessmanager_p.h
@@ -60,6 +60,9 @@
#include "QtNetwork/qnetworkproxy.h"
#include "QtNetwork/qnetworksession.h"
#include "qnetworkaccessauthenticationmanager_p.h"
+#ifndef QT_NO_BEARERMANAGEMENT
+#include "QtNetwork/qnetworkconfigmanager.h"
+#endif
QT_BEGIN_NAMESPACE
@@ -79,6 +82,10 @@ public:
#endif
#ifndef QT_NO_BEARERMANAGEMENT
lastSessionState(QNetworkSession::Invalid),
+ networkConfiguration(networkConfigurationManager.defaultConfiguration()),
+ customNetworkConfiguration(false),
+ networkSessionRequired(networkConfigurationManager.capabilities()
+ & QNetworkConfigurationManager::NetworkSessionRequired),
networkAccessible(QNetworkAccessManager::Accessible),
activeReplyCount(0),
online(false),
@@ -127,6 +134,7 @@ 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,7 +156,12 @@ 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;