Skip to content

Commit 3f7923e

Browse files
Peter Hartmannphartmann
Peter Hartmann
authored andcommitted
[BB10-internal] QNetworkAccessManager: store QNetworkConfiguration instead of identifier
In case a network session is not required, we need access to the configuration object rather than to the QString. Also, only create a session if the configuration manager needs one. Change-Id: I05945525ce8247e343d0bebd7ec15e0e162ed826 Signed-off-by: Peter Hartmann <[email protected]>
1 parent 002ef16 commit 3f7923e

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/network/access/qnetworkaccessmanager.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -757,7 +757,11 @@ QNetworkReply *QNetworkAccessManager::deleteResource(const QNetworkRequest &requ
757757
*/
758758
void QNetworkAccessManager::setConfiguration(const QNetworkConfiguration &config)
759759
{
760-
d_func()->createSession(config);
760+
Q_D(QNetworkAccessManager);
761+
d->networkConfiguration = config;
762+
QNetworkConfigurationManager manager;
763+
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired)
764+
d->createSession(config);
761765
}
762766

763767
/*!
@@ -948,10 +952,10 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
948952
return new QDisabledNetworkReply(this, req, op);
949953
}
950954

951-
if (!d->networkSessionStrongRef && (d->initializeSession || !d->networkConfiguration.isEmpty())) {
955+
if (!d->networkSessionStrongRef && (d->initializeSession || !d->networkConfiguration.identifier().isEmpty())) {
952956
QNetworkConfigurationManager manager;
953-
if (!d->networkConfiguration.isEmpty()) {
954-
d->createSession(manager.configurationFromIdentifier(d->networkConfiguration));
957+
if (!d->networkConfiguration.identifier().isEmpty()) {
958+
d->createSession(manager.configurationFromIdentifier(d->networkConfiguration.identifier()));
955959
} else {
956960
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired)
957961
d->createSession(manager.defaultConfiguration());
@@ -1237,7 +1241,7 @@ void QNetworkAccessManagerPrivate::_q_networkSessionClosed()
12371241
Q_Q(QNetworkAccessManager);
12381242
QSharedPointer<QNetworkSession> networkSession(getNetworkSession());
12391243
if (networkSession) {
1240-
networkConfiguration = networkSession->configuration().identifier();
1244+
networkConfiguration = networkSession->configuration();
12411245

12421246
//disconnect from old session
12431247
QObject::disconnect(networkSession.data(), SIGNAL(opened()), q, SIGNAL(networkSessionConnected()));

src/network/access/qnetworkaccessmanager_p.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ class QNetworkAccessManagerPrivate: public QObjectPrivate
140140
QSharedPointer<QNetworkSession> networkSessionStrongRef;
141141
QWeakPointer<QNetworkSession> networkSessionWeakRef;
142142
QNetworkSession::State lastSessionState;
143-
QString networkConfiguration;
143+
QNetworkConfiguration networkConfiguration;
144144
QNetworkAccessManager::NetworkAccessibility networkAccessible;
145145
int activeReplyCount;
146146
bool online;

0 commit comments

Comments
 (0)