// Copyright (C) 2015 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #include "qgeomapreply_nokia.h" #include #include #include QT_BEGIN_NAMESPACE QGeoMapReplyNokia::QGeoMapReplyNokia(QNetworkReply *reply, const QGeoTileSpec &spec, QObject *parent) : QGeoTiledMapReply(spec, parent) { if (!reply) { setError(UnknownError, QStringLiteral("Null reply")); return; } connect(reply, &QNetworkReply::finished, this, &QGeoMapReplyNokia::networkFinished); connect(reply, &QNetworkReply::errorOccurred, this, &QGeoMapReplyNokia::networkError); connect(this, &QGeoTiledMapReply::aborted, reply, &QNetworkReply::abort); connect(this, &QObject::destroyed, reply, &QObject::deleteLater); } QGeoMapReplyNokia::~QGeoMapReplyNokia() { } void QGeoMapReplyNokia::networkFinished() { QNetworkReply *reply = static_cast(sender()); reply->deleteLater(); if (reply->error() != QNetworkReply::NoError) return; setMapImageData(reply->readAll()); setMapImageFormat("png"); setFinished(true); } void QGeoMapReplyNokia::networkError(QNetworkReply::NetworkError error) { QNetworkReply *reply = static_cast(sender()); reply->deleteLater(); if (error == QNetworkReply::OperationCanceledError) setFinished(true); else setError(QGeoTiledMapReply::CommunicationError, reply->errorString()); } QT_END_NAMESPACE