summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@nokia.com>2012-03-21 19:23:54 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-29 02:29:53 +0200
commit66f381098a27421978a739334f23794de0e4768d (patch)
treefbe73949e1bc3eaf1619e56689ab8cafa4411726 /src/plugins
parent6cdedaf13ccd44fad6729e43b4b79d75572fe9ca (diff)
downloadqtlocation-66f381098a27421978a739334f23794de0e4768d.tar.gz
Added support for proxy autodetection.
Change-Id: Icef793831e54f0333e9872293859b9009a7164cf Reviewed-by: Alex Wilson <alex.wilson@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp6
-rw-r--r--src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp6
-rw-r--r--src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp6
-rw-r--r--src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp5
-rw-r--r--src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp6
5 files changed, 24 insertions, 5 deletions
diff --git a/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp
index 1d2636e6..3513abf7 100644
--- a/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeocodingmanagerengine_nokia.cpp
@@ -53,6 +53,7 @@
#include <qgeoaddress.h>
#include <qgeocoordinate.h>
#include <QNetworkProxy>
+#include <QNetworkProxyFactory>
#include <QUrl>
#include <QMap>
#include <QStringList>
@@ -67,7 +68,7 @@ QGeocodingManagerEngineNokia::QGeocodingManagerEngineNokia(const QMap<QString, Q
if (parameters.contains("proxy")) {
QString proxy = parameters.value("proxy").toString();
- if (!proxy.isEmpty()) {
+ if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) {
QUrl proxyUrl(proxy);
if (proxyUrl.isValid()) {
m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,
@@ -76,6 +77,9 @@ QGeocodingManagerEngineNokia::QGeocodingManagerEngineNokia(const QMap<QString, Q
proxyUrl.userName(),
proxyUrl.password()));
}
+ } else if (!proxy.isEmpty()) {
+ if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy)
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
}
}
diff --git a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp
index bc6e8234..4ecc338b 100644
--- a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp
@@ -51,6 +51,7 @@
#include <QStringList>
#include <QNetworkProxy>
+#include <QNetworkProxyFactory>
#include <QUrl>
#include <qgeoboundingbox.h>
@@ -69,7 +70,7 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString,
if (proxy.isEmpty())
proxy = parameters.value("routing.proxy").toString();
- if (!proxy.isEmpty()) {
+ if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) {
QUrl proxyUrl(proxy);
if (proxyUrl.isValid()) {
m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,
@@ -78,6 +79,9 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString,
proxyUrl.userName(),
proxyUrl.password()));
}
+ } else if (!proxy.isEmpty()) {
+ if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy)
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
}
}
diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
index 9fe4120a..ad4e56d6 100644
--- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
+++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp
@@ -55,6 +55,7 @@
#include <QNetworkAccessManager>
#include <QNetworkProxy>
+#include <QNetworkProxyFactory>
#include <QSize>
#include <QDir>
#include <QUrl>
@@ -91,7 +92,7 @@ bool QGeoTileFetcherNokia::init()
if (proxy.isEmpty())
proxy = m_parameters.value("mapping.proxy").toString();
- if (!proxy.isEmpty()) {
+ if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) {
QUrl proxyUrl(proxy);
if (proxyUrl.isValid()) {
m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,
@@ -100,6 +101,9 @@ bool QGeoTileFetcherNokia::init()
proxyUrl.userName(),
proxyUrl.password()));
}
+ } else if (!proxy.isEmpty()) {
+ if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy)
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
}
}
diff --git a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp
index f658d9ee..fe1683f6 100644
--- a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp
+++ b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav1.cpp
@@ -75,7 +75,7 @@ QPlaceManagerEngineNokiaV1::QPlaceManagerEngineNokiaV1(const QMap<QString, QVari
if (proxy.isEmpty())
proxy = parameters.value("places.proxy").toString();
- if (!proxy.isEmpty()) {
+ if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) {
QUrl proxyUrl(proxy);
if (proxyUrl.isValid()) {
QPlaceRestManager::instance()->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,
@@ -84,6 +84,9 @@ QPlaceManagerEngineNokiaV1::QPlaceManagerEngineNokiaV1(const QMap<QString, QVari
proxyUrl.userName(),
proxyUrl.password()));
}
+ } else if (!proxy.isEmpty()) {
+ if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy)
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
}
}
diff --git a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp
index d716b29f..fe43d6ed 100644
--- a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp
+++ b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp
@@ -59,6 +59,7 @@
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>
#include <QtNetwork/QNetworkProxy>
+#include <QtNetwork/QNetworkProxyFactory>
#ifdef USE_CHINA_NETWORK_REGISTRATION
#include <QtSystemInfo/QNetworkInfo>
#endif
@@ -99,7 +100,7 @@ QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(const QMap<QString, QVari
if (proxy.isEmpty())
proxy = parameters.value("places.proxy").toString();
- if (!proxy.isEmpty()) {
+ if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) {
QUrl proxyUrl(proxy);
if (proxyUrl.isValid()) {
m_manager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy,
@@ -108,6 +109,9 @@ QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(const QMap<QString, QVari
proxyUrl.userName(),
proxyUrl.password()));
}
+ } else if (!proxy.isEmpty()) {
+ if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy)
+ QNetworkProxyFactory::setUseSystemConfiguration(true);
}
}