From 9ec2fa87650607337f1692b7bc52e16cc3f74860 Mon Sep 17 00:00:00 2001 From: Paolo Angelelli Date: Wed, 28 Nov 2018 14:15:31 +0100 Subject: Allow QGeoCodeReplyPrivate to be subclassed and carry extra data Stored in form of a variant map. Currently used for debugging purposes. Change-Id: I49fa4b51da0d5947e3b292b6cde96cb496cef9e6 Reviewed-by: Alex Blasche --- .../geoservices/osm/qgeocodingmanagerengineosm.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/plugins/geoservices/osm/qgeocodingmanagerengineosm.cpp') diff --git a/src/plugins/geoservices/osm/qgeocodingmanagerengineosm.cpp b/src/plugins/geoservices/osm/qgeocodingmanagerengineosm.cpp index d7751287..9403cfa8 100644 --- a/src/plugins/geoservices/osm/qgeocodingmanagerengineosm.cpp +++ b/src/plugins/geoservices/osm/qgeocodingmanagerengineosm.cpp @@ -38,7 +38,6 @@ ****************************************************************************/ #include "qgeocodingmanagerengineosm.h" -#include "qgeocodereplyosm.h" #include #include @@ -50,6 +49,8 @@ #include #include #include +#include "qgeocodereplyosm.h" + QT_BEGIN_NAMESPACE @@ -85,6 +86,9 @@ QGeoCodingManagerEngineOsm::QGeoCodingManagerEngineOsm(const QVariantMap ¶me else m_urlPrefix = QStringLiteral("https://nominatim.openstreetmap.org"); + if (parameters.contains(QStringLiteral("osm.geocoding.debug_query"))) + m_debugQuery = parameters.value(QStringLiteral("osm.geocoding.debug_query")).toBool(); + *error = QGeoServiceProvider::NoError; errorString->clear(); } @@ -126,6 +130,11 @@ QGeoCodeReply *QGeoCodingManagerEngineOsm::geocode(const QString &address, int l QNetworkReply *reply = m_networkManager->get(request); QGeoCodeReplyOsm *geocodeReply = new QGeoCodeReplyOsm(reply, this); + if (m_debugQuery) { + QGeoCodeReplyOsmPrivate *replyPrivate + = static_cast(QGeoCodeReplyPrivate::get(*geocodeReply)); + replyPrivate->m_extraData["request_url"] = url; + } connect(geocodeReply, SIGNAL(finished()), this, SLOT(replyFinished())); connect(geocodeReply, SIGNAL(error(QGeoCodeReply::Error,QString)), @@ -157,6 +166,11 @@ QGeoCodeReply *QGeoCodingManagerEngineOsm::reverseGeocode(const QGeoCoordinate & QNetworkReply *reply = m_networkManager->get(request); QGeoCodeReplyOsm *geocodeReply = new QGeoCodeReplyOsm(reply, this); + if (m_debugQuery) { + QGeoCodeReplyOsmPrivate *replyPrivate + = static_cast(QGeoCodeReplyPrivate::get(*geocodeReply)); + replyPrivate->m_extraData["request_url"] = url; + } connect(geocodeReply, SIGNAL(finished()), this, SLOT(replyFinished())); connect(geocodeReply, SIGNAL(error(QGeoCodeReply::Error,QString)), -- cgit v1.2.3