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
qtpositioning-plugins.qdoc
Go to the documentation of this file.
1
// Copyright (C) 2021 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4
/*!
5
\page qtpositioning-plugins.html
6
\title Qt Positioning Plugins
7
\brief Default Plugins and Implementing Qt Positioning plugins
8
9
Qt Positioning provides the majority of its functionality through plugins.
10
This document outlines how to develop a new position plugin.
11
12
\section1 Default plugins
13
Some plugins already ship with Qt. These are:
14
15
\table
16
\row
17
\li \b android
18
\li Wraps \l {Qt Positioning Android plugin}{Android} positioning subsystem.
19
Available only on Android.
20
\row
21
\li \b corelocation
22
\li Wraps iOS and macOS positioning subsystems. Available only on Apple platforms supporting corelocation.
23
\row
24
\li \b geoclue2
25
\li A \l {Qt Positioning GeoClue v2 plugin}{GeoClue v2} backend that
26
provides an interface to the GeoClue v2 D-Bus service.
27
\row
28
\li \b gypsy
29
\li A \l {Qt Positioning Gypsy plugin}{Gypsy} backend that provides
30
an interface to the Gypsy daemon.
31
\row
32
\li \b winrt
33
\li Wraps WinRT positioning subsystem. Available only on WinRT and Windows10.
34
\row
35
\li \b nmea
36
\li An \l {Qt Positioning NMEA plugin}{NMEA} backend that parses NMEA
37
streams from a GPS receiver to provide position updates. This plugin can
38
use serial port, socket or file as a source.
39
\row
40
\li \b positionpoll
41
\li A backend providing only area monitoring functionalities via polling on position updates.
42
\endtable
43
44
45
\section1 Plugin Description
46
47
Each plugin is described by a json file. The json describes the plugins capabilities and
48
version. Below is an example of a json file used by the postionpoll plugin:
49
50
\quotefile ../../../plugins/position/positionpoll/plugin.json
51
52
The entries have the following meaning:
53
54
\table
55
\header
56
\li Key
57
\li Description
58
\row
59
\li Keys
60
\li The unique name/key of the plugin. Each position plugin must have a unique name.
61
\row
62
\li Provider
63
\li The provider name of the services. Multiple plugins may have the same name.
64
In such cases the Version string will be used to further distinguish the plugins.
65
\row
66
\li Position
67
\li Set to \c true if the plugin implements a \l QGeoPositionInfoSource.
68
\row
69
\li Satellite
70
\li Set to \c true if the plugin implements a \l QGeoSatelliteInfoSource.
71
\row
72
\li Monitor
73
\li Set to \c true if the plugin implements a \l QGeoAreaMonitorSource.
74
\row
75
\li Priority
76
\li The plugin priority. If multiple plugins have the same provider name, the plugin
77
with the higest priority will be used.
78
\endtable
79
80
\section1 Implementing Plugins
81
82
A plugin implementer needs to subclass \l QGeoPositionInfoSourceFactory and override one or more of
83
its functions. If a plugin does not support a specific feature the function should return 0 or
84
utilize the default implementation.
85
86
\list
87
\li \l QGeoPositionInfoSourceFactory::areaMonitor()
88
\li \l QGeoPositionInfoSourceFactory::positionInfoSource()
89
\li \l QGeoPositionInfoSourceFactory::satelliteInfoSource()
90
\endlist
91
*/
qtpositioning
src
positioning
doc
src
qtpositioning-plugins.qdoc
Generated on Mon Mar 10 2025 01:10:56 for Qt by
1.13.2