diff options
author | Jean Gressmann <jean.gressmann@nokia.com> | 2012-04-18 19:45:50 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-20 05:57:59 +0200 |
commit | 65a85f6f49f3ff305cb3517151ba0addc28aa374 (patch) | |
tree | 062b8a9e6d1a295bfee4b091106f2cb2b6ea0ae1 /src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp | |
parent | 729fa78e7b16830fd3128786b994c66d8dbfe157 (diff) | |
download | qtlocation-65a85f6f49f3ff305cb3517151ba0addc28aa374.tar.gz |
QtLocation, Nokia plugin: Pass app_id and token to routing service
The new service endpoint supports passing app_id/token instead
of the referer/token method used by the previous routing service.
Now all services implemented in the N[Bokia plugin pass along the
plugin's app_id and token parameters.
Change-Id: I8838b31e70cb2df2c05195724015713f88d767f1
Reviewed-by: Cristian Adam <cristian.adam@nokia.com>
Reviewed-by: Alex <alex.blasche@nokia.com>
Diffstat (limited to 'src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp')
-rw-r--r-- | src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp | 53 |
1 files changed, 25 insertions, 28 deletions
diff --git a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp index db37668b..ae8b7ef0 100644 --- a/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeoroutingmanagerengine_nokia.cpp @@ -58,19 +58,17 @@ QT_BEGIN_NAMESPACE QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, QVariant> ¶meters, QGeoServiceProvider::Error *error, QString *errorString) - : QGeoRoutingManagerEngine(parameters), - m_host("route.nlp.nokia.com"), - m_token(QGeoServiceProviderFactoryNokia::defaultToken), - m_referer(QGeoServiceProviderFactoryNokia::defaultReferer) + : QGeoRoutingManagerEngine(parameters) + , m_host(QStringLiteral("route.nlp.nokia.com")) { m_networkManager = new QNetworkAccessManager(this); - if (parameters.contains("proxy") || parameters.contains("routing.proxy")) { + if (parameters.contains(QStringLiteral("proxy")) || parameters.contains(QStringLiteral("routing.proxy"))) { QString proxy = parameters.value("proxy").toString(); if (proxy.isEmpty()) - proxy = parameters.value("routing.proxy").toString(); + proxy = parameters.value(QStringLiteral("routing.proxy")).toString(); - if (!proxy.isEmpty() && proxy.toLower() != QLatin1String("system")) { + if (!proxy.isEmpty() && proxy.toLower() != QStringLiteral("system")) { QUrl proxyUrl(proxy); if (proxyUrl.isValid()) { m_networkManager->setProxy(QNetworkProxy(QNetworkProxy::HttpProxy, @@ -85,18 +83,14 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, } } - if (parameters.contains("routing.host")) { - QString host = parameters.value("routing.host").toString(); + if (parameters.contains(QStringLiteral("routing.host"))) { + QString host = parameters.value(QStringLiteral("routing.host")).toString(); if (!host.isEmpty()) m_host = host; } - // The navteq server doesn't support app_id and token - /* - if (parameters.contains("token")) { - m_token = parameters.value("token").toString(); - } - */ + m_appId = parameters.value(QStringLiteral("app_id")).toString(); + m_token = parameters.value(QStringLiteral("token")).toString(); QGeoRouteRequest::FeatureTypes featureTypes; featureTypes |= QGeoRouteRequest::TollFeature; @@ -137,7 +131,7 @@ QGeoRoutingManagerEngineNokia::QGeoRoutingManagerEngineNokia(const QMap<QString, *error = QGeoServiceProvider::NoError; if (errorString) - *errorString = ""; + *errorString = QString(); } QGeoRoutingManagerEngineNokia::~QGeoRoutingManagerEngineNokia() {} @@ -245,33 +239,36 @@ QString QGeoRoutingManagerEngineNokia::calculateRouteRequestString(const QGeoRou bool supported = checkEngineSupport(request, request.travelModes()); if (!supported) - return ""; + return QString(); - QString requestString = "http://"; + QString requestString = QStringLiteral("http://"); requestString += m_host; - requestString += "/routing/6.2/calculateroute.xml?referer=" + m_referer; + requestString += QStringLiteral("/routing/6.2/calculateroute.xml"); + + requestString += QStringLiteral("?alternatives="); + requestString += QString::number(request.numberAlternativeRoutes()); - if (!m_token.isNull()) - requestString += "&token=" + m_token; + if (!m_appId.isEmpty() && !m_token.isEmpty()) { + requestString += QStringLiteral("&app_id="); + requestString += m_appId; + requestString += QStringLiteral("&token="); + requestString += m_token; + } int numWaypoints = request.waypoints().size(); if (numWaypoints < 2) - return ""; + return QString(); for (int i = 0;i < numWaypoints;++i) { - requestString += "&waypoint"; + requestString += QStringLiteral("&waypoint"); requestString += QString::number(i); - requestString += "=geo!"; + requestString += QStringLiteral("=geo!"); requestString += trimDouble(request.waypoints().at(i).latitude()); requestString += ","; requestString += trimDouble(request.waypoints().at(i).longitude()); } requestString += modesRequestString(request, request.travelModes()); - - requestString += "&alternatives="; - requestString += QString::number(request.numberAlternativeRoutes()); - requestString += routeRequestString(request); return requestString; |