diff options
author | Jean Gressmann <jean.gressmann@nokia.com> | 2012-04-24 16:53:30 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-27 06:25:24 +0200 |
commit | 0f4b0b96a1ea36be198e1a5daa145fd50e7c5530 (patch) | |
tree | c58833ea665c0f214c657d09e82f56659f4a9bf8 /src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp | |
parent | 3fa23135e0271f4f34a276082d3b902e4533aa0f (diff) | |
download | qtlocation-0f4b0b96a1ea36be198e1a5daa145fd50e7c5530.tar.gz |
Wrap network access to enable testing in Nokia plugin
This enables subsequent testing of the stack (from C++) without being
connected to the network.
Change-Id: I55ad5ece9c323ec82a493d059f1418f68169c5e6
Task-number: QTBUG-25416
Reviewed-by: Alex Wilson <alex.wilson@nokia.com>
Diffstat (limited to 'src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp')
-rw-r--r-- | src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp index 5ed54525..f6869755 100644 --- a/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp +++ b/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp @@ -55,6 +55,7 @@ #include "placesv2/qplacerecommendationreplyimpl.h" #include "placesv2/qplacedetailsreplyimpl.h" #include "placesv2/qplaceidreplyimpl.h" +#include "qgeonetworkaccessmanager.h" #include <QtCore/QJsonDocument> #include <QtCore/QJsonObject> @@ -88,32 +89,17 @@ static const int FIXED_CATEGORIES_indices[] = { static const char * const placesServerInternational = "http://api.places.lbs.maps.nokia.com/places"; static const char * const placesServerChina = "http://api.places.lbs.maps.nokia.com.cn/places"; -QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(const QMap<QString, QVariant> ¶meters, - QGeoServiceProvider::Error *error, - QString *errorString) -: QPlaceManagerEngine(parameters), m_manager(new QNetworkAccessManager(this)) +QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2( + QGeoNetworkAccessManager* networkManager, + const QMap<QString, QVariant> ¶meters, + QGeoServiceProvider::Error *error, + QString *errorString) +: QPlaceManagerEngine(parameters), m_manager(networkManager) { - m_locales.append(QLocale()); + Q_ASSERT(networkManager); + m_manager->setParent(this); - if (parameters.contains(QLatin1String("proxy")) || parameters.contains(QLatin1String("places.proxy"))) { - QString proxy = parameters.value("proxy").toString(); - if (proxy.isEmpty()) - proxy = parameters.value("places.proxy").toString(); - - if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { - QUrl proxyUrl(proxy); - if (proxyUrl.isValid()) { - m_manager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, - proxyUrl.host(), - proxyUrl.port(8080), - proxyUrl.userName(), - proxyUrl.password())); - } - } else if (!proxy.isEmpty()) { - if (QNetworkProxy::applicationProxy().type() == QNetworkProxy::NoProxy) - QNetworkProxyFactory::setUseSystemConfiguration(true); - } - } + m_locales.append(QLocale()); // Unless specified in the plugin parameters set the international places server to the builtin // one. This is the server used when not in China. @@ -139,9 +125,7 @@ QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(const QMap<QString, QVari errorString->clear(); } -QPlaceManagerEngineNokiaV2::~QPlaceManagerEngineNokiaV2() -{ -} +QPlaceManagerEngineNokiaV2::~QPlaceManagerEngineNokiaV2() {} QPlaceDetailsReply *QPlaceManagerEngineNokiaV2::getPlaceDetails(const QString &placeId) { |