diff options
Diffstat (limited to 'src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp')
-rw-r--r-- | src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp | 56 |
1 files changed, 51 insertions, 5 deletions
diff --git a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp index c7f16eeb..a6ce9c0a 100644 --- a/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp +++ b/src/plugins/geoservices/nokia/qgeotilefetcher_nokia.cpp @@ -246,28 +246,42 @@ QString QGeoTileFetcherNokia::applicationId() const void QGeoTileFetcherNokia::copyrightsFetched() { - if (m_engineNokia) { + if (m_engineNokia && m_copyrightsReply->error() == QNetworkReply::NoError) { QMetaObject::invokeMethod(m_engineNokia.data(), "loadCopyrightsDescriptorsFromJson", Qt::QueuedConnection, Q_ARG(QByteArray, m_copyrightsReply->readAll())); } + + m_copyrightsReply->deleteLater(); +} + +void QGeoTileFetcherNokia::versionFetched() +{ + if (m_engineNokia && m_versionReply->error() == QNetworkReply::NoError) { + QMetaObject::invokeMethod(m_engineNokia.data(), + "parseNewVersionInfo", + Qt::QueuedConnection, + Q_ARG(QByteArray, m_versionReply->readAll())); + } + + m_versionReply->deleteLater(); } void QGeoTileFetcherNokia::fetchCopyrightsData() { - QString copyrightUrl = "http://"; + QString copyrightUrl = QStringLiteral("http://"); copyrightUrl += m_baseUriProvider->getCurrentHost(); - copyrightUrl += "/maptile/2.1/copyright/newest?output=json"; + copyrightUrl += QStringLiteral("/maptile/2.1/copyright/newest?output=json"); if (!token().isEmpty()) { - copyrightUrl += "&token="; + copyrightUrl += QStringLiteral("&token="); copyrightUrl += token(); } if (!applicationId().isEmpty()) { - copyrightUrl += "&app_id="; + copyrightUrl += QStringLiteral("&app_id="); copyrightUrl += applicationId(); } @@ -286,4 +300,36 @@ void QGeoTileFetcherNokia::fetchCopyrightsData() } } +void QGeoTileFetcherNokia::fetchVersionData() +{ + QString versionUrl = QStringLiteral("http://"); + + versionUrl += m_baseUriProvider->getCurrentHost(); + versionUrl += QStringLiteral("/maptile/2.1/version"); + + if (!token().isEmpty()) { + versionUrl += QStringLiteral("?token="); + versionUrl += token(); + } + + if (!applicationId().isEmpty()) { + versionUrl += QStringLiteral("&app_id="); + versionUrl += applicationId(); + } + + QNetworkRequest netRequest((QUrl(versionUrl))); + m_versionReply = m_networkManager->get(netRequest); + + if (m_versionReply->error() != QNetworkReply::NoError) { + qWarning() << __FUNCTION__ << m_versionReply->errorString(); + m_versionReply->deleteLater(); + return; + } + + if (m_versionReply->isFinished()) + versionFetched(); + else + connect(m_versionReply, SIGNAL(finished()), this, SLOT(versionFetched())); +} + QT_END_NAMESPACE |