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// Qt-Security score:significant reason:default
4
5#ifndef QGEOROUTINGMANAGERENGINE_H
6#define QGEOROUTINGMANAGERENGINE_H
7
8#include <QtCore/QObject>
9#include <QtCore/QLocale>
10#include <QtLocation/QGeoRouteRequest>
11#include <QtLocation/QGeoRouteReply>
12
14
15class QGeoCoordinate;
16class QGeoRoutingManagerEnginePrivate;
17
18class Q_LOCATION_EXPORT QGeoRoutingManagerEngine : public QObject
19{
20 Q_OBJECT
21public:
22 explicit QGeoRoutingManagerEngine(const QVariantMap &parameters, QObject *parent = nullptr);
23 virtual ~QGeoRoutingManagerEngine();
24
25 QString managerName() const;
26 int managerVersion() const;
27
28 virtual QGeoRouteReply *calculateRoute(const QGeoRouteRequest &request) = 0;
29 virtual QGeoRouteReply *updateRoute(const QGeoRoute &route, const QGeoCoordinate &position);
30
31 QGeoRouteRequest::TravelModes supportedTravelModes() const;
32 QGeoRouteRequest::FeatureTypes supportedFeatureTypes() const;
33 QGeoRouteRequest::FeatureWeights supportedFeatureWeights() const;
34 QGeoRouteRequest::RouteOptimizations supportedRouteOptimizations() const;
35 QGeoRouteRequest::SegmentDetails supportedSegmentDetails() const;
36 QGeoRouteRequest::ManeuverDetails supportedManeuverDetails() const;
37
38 void setLocale(const QLocale &locale);
39 QLocale locale() const;
40 void setMeasurementSystem(QLocale::MeasurementSystem system);
41 QLocale::MeasurementSystem measurementSystem() const;
42
43Q_SIGNALS:
44 void finished(QGeoRouteReply *reply);
45 void errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error,
46 const QString &errorString = QString());
47
48protected:
49 void setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes);
50 void setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes);
51 void setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights);
52 void setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations);
53 void setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails);
54 void setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails);
55
56private:
57 void setManagerName(const QString &managerName);
58 void setManagerVersion(int managerVersion);
59
60 QGeoRoutingManagerEnginePrivate *d_ptr;
61 Q_DISABLE_COPY(QGeoRoutingManagerEngine)
62
63 friend class QGeoServiceProvider;
64 friend class QGeoServiceProviderPrivate;
65};
66
67QT_END_NAMESPACE
68
69#endif
std::unique_ptr< QGeoRoutingManagerEngine > engine
\inmodule QtLocation
Combined button and popup list for selecting options.