diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-05-11 12:39:09 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-05-11 12:39:09 +0200 |
commit | 5e2b0aa1b344bc93af29d7977aa7e497bfc7a9cf (patch) | |
tree | c478b00d1c04166f3c1c163971edb4575b065b13 /src/network/kernel/qnetworkproxy_symbian.cpp | |
parent | d1622207ba501b93bd83b88d61a5631d3d0da0cc (diff) | |
parent | fda40e37df1152b5a8c572fe4bc53620bfcbcc45 (diff) |
Merge remote branch 'staging/master' into refactor
Conflicts:
src/gui/painting/qdrawhelper_p.h
src/gui/painting/qgraphicssystemfactory.cpp
src/gui/painting/qpainter.cpp
src/gui/painting/qunifiedtoolbarsurface_mac.cpp
src/gui/painting/qunifiedtoolbarsurface_mac_p.h
src/openvg/openvg.pro
src/openvg/qpaintengine_vg.cpp
src/openvg/qwindowsurface_vg.cpp
src/openvg/qwindowsurface_vgegl.cpp
src/plugins/platforms/wayland/qwaylanddisplay.cpp
src/widgets/graphicsview/qgraphicsscene.cpp
Diffstat (limited to 'src/network/kernel/qnetworkproxy_symbian.cpp')
-rw-r--r-- | src/network/kernel/qnetworkproxy_symbian.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/network/kernel/qnetworkproxy_symbian.cpp b/src/network/kernel/qnetworkproxy_symbian.cpp index 79dfb27396..4ba14c0465 100644 --- a/src/network/kernel/qnetworkproxy_symbian.cpp +++ b/src/network/kernel/qnetworkproxy_symbian.cpp @@ -58,6 +58,7 @@ #include <commsdattypeinfov1_1.h> // CCDIAPRecord, CCDProxiesRecord #include <commsdattypesv1_1.h> // KCDTIdIAPRecord, KCDTIdProxiesRecord #include <QtNetwork/QNetworkConfigurationManager> +#include <QtNetwork/QNetworkConfiguration> #include <QFlags> using namespace CommsDat; @@ -88,7 +89,7 @@ class SymbianProxyQuery { public: static QNetworkConfiguration findCurrentConfiguration(QNetworkConfigurationManager& configurationManager); - static SymbianIapId getIapId(QNetworkConfigurationManager& configurationManager); + static SymbianIapId getIapId(QNetworkConfigurationManager &configurationManager, const QNetworkProxyQuery &query); static CCDIAPRecord *getIapRecordLC(TUint32 aIAPId, CMDBSession &aDb); static CMDBRecordSet<CCDProxiesRecord> *prepareQueryLC(TUint32 serviceId, TDesC& serviceType); static QList<QNetworkProxy> proxyQueryL(TUint32 aIAPId, const QNetworkProxyQuery &query); @@ -137,11 +138,15 @@ QNetworkConfiguration SymbianProxyQuery::findCurrentConfiguration(QNetworkConfig return currentConfig; } -SymbianIapId SymbianProxyQuery::getIapId(QNetworkConfigurationManager& configurationManager) +SymbianIapId SymbianProxyQuery::getIapId(QNetworkConfigurationManager& configurationManager, const QNetworkProxyQuery &query) { SymbianIapId iapId; - QNetworkConfiguration currentConfig = findCurrentConfiguration(configurationManager); + QNetworkConfiguration currentConfig = query.networkConfiguration(); + if (!currentConfig.isValid()) { + //If config is not specified, then try to find out an active or default one + currentConfig = findCurrentConfiguration(configurationManager); + } if (currentConfig.isValid()) { // Note: the following code assumes that the identifier is in format // I_xxxx where xxxx is the identifier of IAP. This is meant as a @@ -249,7 +254,7 @@ QList<QNetworkProxy> QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro SymbianIapId iapId; TInt error; QNetworkConfigurationManager manager; - iapId = SymbianProxyQuery::getIapId(manager); + iapId = SymbianProxyQuery::getIapId(manager, query); if (iapId.isValid()) { TRAP(error, proxies = SymbianProxyQuery::proxyQueryL(iapId.iapId(), query)) if (error != KErrNone) { |