11: QGeoRouteReply(request, parent)
14 setError(UnknownError, QStringLiteral(
"Null reply"));
17 connect(reply, &QNetworkReply::finished,
18 this, &QGeoRouteReplyOsm::networkReplyFinished);
19 connect(reply, &QNetworkReply::errorOccurred,
20 this, &QGeoRouteReplyOsm::networkReplyError);
21 connect(
this, &QGeoRouteReply::aborted, reply, &QNetworkReply::abort);
22 connect(
this, &QObject::destroyed, reply, &QObject::deleteLater);
31 QNetworkReply *reply =
static_cast<QNetworkReply *>(sender());
34 if (reply->error() != QNetworkReply::NoError)
38 const QGeoRouteParser *parser = engine->routeParser();
40 QList<QGeoRoute> routes;
42 QGeoRouteReply::Error error = parser->parseReply(routes, errorString, reply->readAll());
44 for (QGeoRoute &route : routes) {
45 route.setRequest(request());
46 for (QGeoRoute &leg: route.routeLegs()) {
47 leg.setRequest(request());
51 if (error == QGeoRouteReply::NoError) {
52 setRoutes(routes.mid(0, request().numberAlternativeRoutes() + 1));
56 setError(error, errorString);
63 QNetworkReply *reply =
static_cast<QNetworkReply *>(sender());
65 setError(QGeoRouteReply::CommunicationError, reply->errorString());
The QNetworkReply class contains the data and headers for a request sent with QNetworkAccessManager.