summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2022-10-10 13:19:55 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2022-10-12 20:26:33 +0200
commit2aea02b53c90a72988edcbb3d7572d2f8fd29ac9 (patch)
treedb63cc89b64e2bfe4b36aa5bd79c148c55124464 /src
parentf75c6bc83c59bb43939374e4634649da761a7ccb (diff)
downloadqtlocation-2aea02b53c90a72988edcbb3d7572d2f8fd29ac9.tar.gz
Doc: we don't guarantee compatibility for backend classes
Similar to QPA, we want to continue to develop the backend APIs between minor releases. Loading a plugin that uses a different Qt version than the application is anyway a bad idea (if supported at all), and for Qt Location specifically we don't want to support this. Change-Id: Ib8b159e1df391bc5a474ddccb6933ab80529264f Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/location/doc/src/qt6-changes.qdoc7
-rw-r--r--src/location/maps/qgeocodingmanagerengine.cpp11
-rw-r--r--src/location/maps/qgeomappingmanagerengine.cpp5
-rw-r--r--src/location/maps/qgeoroutingmanagerengine.cpp5
-rw-r--r--src/location/maps/qgeoserviceproviderfactory.cpp5
-rw-r--r--src/location/places/qplacemanagerengine.cpp5
6 files changed, 33 insertions, 5 deletions
diff --git a/src/location/doc/src/qt6-changes.qdoc b/src/location/doc/src/qt6-changes.qdoc
index 815edd9d..f5a01d56 100644
--- a/src/location/doc/src/qt6-changes.qdoc
+++ b/src/location/doc/src/qt6-changes.qdoc
@@ -82,9 +82,12 @@
Functionality that had "labs" status has been removed. This includes the
experimental framework for turn-by-turn navigation, MapObjects
- \section2 Maps
+ \section2 Backend Provider API
- \section2 Places
+ The backend provider API is no longer subject to binary and source
+ compatibility guarantees.
+
+ \section1 Other API changes
This section contains API improvements that do not break source
compatibility. However they might have an impact on the application logic,
diff --git a/src/location/maps/qgeocodingmanagerengine.cpp b/src/location/maps/qgeocodingmanagerengine.cpp
index 9d51c31e..6ab62e39 100644
--- a/src/location/maps/qgeocodingmanagerengine.cpp
+++ b/src/location/maps/qgeocodingmanagerengine.cpp
@@ -57,9 +57,14 @@ QT_BEGIN_NAMESPACE
convenience methods to implementers of QGeoServiceProvider plugins who want
to provide support for geocoding operations.
- In the default implementation, supportsGeocoding() and supportsReverseGeocoding() returns false while
- geocode() and reverseGeocode()
- cause QGeoCodeReply::UnsupportedOptionError to occur.
+ \note There are no source or binary compatibility guarantees for the
+ backend classes. The API is only guaranteed to work with the Qt version it
+ was developed against. API changes will however only be made in minor
+ releases. (6.6, 6.7, and so on.)
+
+ In the default implementation, supportsGeocoding() and
+ supportsReverseGeocoding() returns false while geocode() and
+ reverseGeocode() cause QGeoCodeReply::UnsupportedOptionError to occur.
If the service provider supports geocoding the subclass should provide an
implementation of geocode() and call setSupportsGeocoding(true) at
diff --git a/src/location/maps/qgeomappingmanagerengine.cpp b/src/location/maps/qgeomappingmanagerengine.cpp
index 5d9f41d1..bb2f9114 100644
--- a/src/location/maps/qgeomappingmanagerengine.cpp
+++ b/src/location/maps/qgeomappingmanagerengine.cpp
@@ -55,6 +55,11 @@ QT_BEGIN_NAMESPACE
\brief Provides support functionality for map display with QGeoServiceProvider.
+ \note There are no source or binary compatibility guarantees for the
+ backend classes. The API is only guaranteed to work with the Qt version it
+ was developed against. API changes will however only be made in minor
+ releases. (6.6, 6.7, and so on.)
+
The QGeoMappingManagerEngine class provides an interface and convenience
methods to implementors of QGeoServiceProvider plugins who want to
provide support for displaying and interacting with maps.
diff --git a/src/location/maps/qgeoroutingmanagerengine.cpp b/src/location/maps/qgeoroutingmanagerengine.cpp
index fe7ad322..7226dad1 100644
--- a/src/location/maps/qgeoroutingmanagerengine.cpp
+++ b/src/location/maps/qgeoroutingmanagerengine.cpp
@@ -52,6 +52,11 @@ QT_BEGIN_NAMESPACE
convenience methods to implementers of QGeoServiceProvider plugins who want
to provide access to geographic routing information.
+ \note There are no source or binary compatibility guarantees for the
+ backend classes. The API is only guaranteed to work with the Qt version it
+ was developed against. API changes will however only be made in minor
+ releases. (6.6, 6.7, and so on.)
+
Subclasses of QGeoRoutingManagerEngine need to provide an implementation of
calculateRoute().
diff --git a/src/location/maps/qgeoserviceproviderfactory.cpp b/src/location/maps/qgeoserviceproviderfactory.cpp
index 62007bf1..d58773bd 100644
--- a/src/location/maps/qgeoserviceproviderfactory.cpp
+++ b/src/location/maps/qgeoserviceproviderfactory.cpp
@@ -51,6 +51,11 @@ QT_BEGIN_NAMESPACE
\brief The QGeoServiceProviderFactory class is a factory class used as the
plugin interface for services related to geographical information.
+ \note There are no source or binary compatibility guarantees for the
+ backend classes. The API is only guaranteed to work with the Qt version it
+ was developed against. API changes will however only be made in minor
+ releases. (6.6, 6.7, and so on.)
+
Implementers must provide a unique combination of providerName() and
providerVersion() per plugin.
diff --git a/src/location/places/qplacemanagerengine.cpp b/src/location/places/qplacemanagerengine.cpp
index cab5603d..971f4621 100644
--- a/src/location/places/qplacemanagerengine.cpp
+++ b/src/location/places/qplacemanagerengine.cpp
@@ -65,6 +65,11 @@ QT_BEGIN_NAMESPACE
implementers of QGeoServiceProvider plugins who want to provide access to place
functionality.
+ \note There are no source or binary compatibility guarantees for the
+ backend classes. The API is only guaranteed to work with the Qt version it
+ was developed against. API changes will however only be made in minor
+ releases. (6.6, 6.7, and so on.)
+
Application developers need not concern themselves with the QPlaceManagerEngine.
Backend implementers however will need to derive from QPlaceManagerEngine and provide
implementations for the abstract virtual functions.