Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgeoroutingmanagerengine.h
Go to the documentation of this file.
1// Copyright (C) 2015 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QGEOROUTINGMANAGERENGINE_H
5#define QGEOROUTINGMANAGERENGINE_H
6
7#include <QtCore/QObject>
8#include <QtCore/QLocale>
9#include <QtLocation/QGeoRouteRequest>
10#include <QtLocation/QGeoRouteReply>
11
13
14class QGeoCoordinate;
15class QGeoRoutingManagerEnginePrivate;
16
17class Q_LOCATION_EXPORT QGeoRoutingManagerEngine : public QObject
18{
19 Q_OBJECT
20public:
21 explicit QGeoRoutingManagerEngine(const QVariantMap &parameters, QObject *parent = nullptr);
22 virtual ~QGeoRoutingManagerEngine();
23
24 QString managerName() const;
25 int managerVersion() const;
26
27 virtual QGeoRouteReply *calculateRoute(const QGeoRouteRequest &request) = 0;
28 virtual QGeoRouteReply *updateRoute(const QGeoRoute &route, const QGeoCoordinate &position);
29
30 QGeoRouteRequest::TravelModes supportedTravelModes() const;
31 QGeoRouteRequest::FeatureTypes supportedFeatureTypes() const;
32 QGeoRouteRequest::FeatureWeights supportedFeatureWeights() const;
33 QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations() const;
34 QGeoRouteRequest::SegmentDetails supportedSegmentDetails() const;
35 QGeoRouteRequest::ManeuverDetails supportedManeuverDetails() const;
36
37 void setLocale(const QLocale &locale);
38 QLocale locale() const;
39 void setMeasurementSystem(QLocale::MeasurementSystem system);
40 QLocale::MeasurementSystem measurementSystem() const;
41
42Q_SIGNALS:
43 void finished(QGeoRouteReply *reply);
44 void errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error,
45 const QString &errorString = QString());
46
47protected:
48 void setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes);
49 void setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes);
50 void setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights);
51 void setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations);
52 void setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails);
53 void setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails);
54
55private:
56 void setManagerName(const QString &managerName);
57 void setManagerVersion(int managerVersion);
58
59 QGeoRoutingManagerEnginePrivate *d_ptr;
60 Q_DISABLE_COPY(QGeoRoutingManagerEngine)
61
62 friend class QGeoServiceProvider;
63 friend class QGeoServiceProviderPrivate;
64};
65
66QT_END_NAMESPACE
67
68#endif
std::unique_ptr< QGeoRoutingManagerEngine > engine
\inmodule QtLocation