summaryrefslogtreecommitdiff
path: root/src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp
diff options
context:
space:
mode:
authorJean Gressmann <jean.gressmann@nokia.com>2012-04-24 16:53:30 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-27 06:25:24 +0200
commit0f4b0b96a1ea36be198e1a5daa145fd50e7c5530 (patch)
treec58833ea665c0f214c657d09e82f56659f4a9bf8 /src/plugins/geoservices/nokia/qplacemanagerengine_nokiav2.cpp
parent3fa23135e0271f4f34a276082d3b902e4533aa0f (diff)
downloadqtlocation-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.cpp38
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> &parameters,
- QGeoServiceProvider::Error *error,
- QString *errorString)
-: QPlaceManagerEngine(parameters), m_manager(new QNetworkAccessManager(this))
+QPlaceManagerEngineNokiaV2::QPlaceManagerEngineNokiaV2(
+ QGeoNetworkAccessManager* networkManager,
+ const QMap<QString, QVariant> &parameters,
+ 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)
{