summaryrefslogtreecommitdiff
path: root/src/positioning
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2019-04-10 22:57:45 +0200
committerpaolo <paolo.angelelli@qt.io>2019-06-21 22:56:05 +0200
commit6ddffc8a4eb50164389c55c2ddad9239dab07b8c (patch)
treec0208a549f972e514a0987849f123394048694ef /src/positioning
parentac899dcc40bb3ad09307583fb7e6befd45a77b33 (diff)
downloadqtlocation-6ddffc8a4eb50164389c55c2ddad9239dab07b8c.tar.gz
Move PluginParameter into PositioningQuick, expose also in QtPositioning
With this patch the QDeclarativeGeoServiceProviderParameter in the location-private module becomes QDeclarativePluginParameter in the positioningquick-private module. This renamed class is then registered, under the same QML typename "PluginParameter" both in QtPositioning and QtLocation qml plugins. In this way it will become possible to use the same type both inside QtLocation "Plugin" and inside QtPositioning "PositionSource", and regardless of which is the QML plugin that provides "PluginParameter", this will translate into the same cpp type. [ChangeLog][QtPositioning] Exposed PluginParameter also from QtPositioning qml plugin, to be used in PositionSource as replacement of environment variables. Task-number: QTBUG-66304 Change-Id: I1d982ff689130ae896c616480567aa12d9b49c3a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioning')
-rw-r--r--src/positioning/doc/src/plugins/serialnmea.qdoc78
-rw-r--r--src/positioning/doc/src/qtpositioning-plugins.qdoc40
-rw-r--r--src/positioning/positioning.pro2
3 files changed, 115 insertions, 5 deletions
diff --git a/src/positioning/doc/src/plugins/serialnmea.qdoc b/src/positioning/doc/src/plugins/serialnmea.qdoc
new file mode 100644
index 00000000..3e9861b5
--- /dev/null
+++ b/src/positioning/doc/src/plugins/serialnmea.qdoc
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\page position-plugin-serialnmea.html
+\title Qt Positioning Serial NMEA plugin
+\ingroup QtPositioning-plugins
+
+\brief Reads the NMEA stream from a serial connection to provide position updates.
+
+\section1 Overview
+
+Included with Qt Location is a position plugin which parses NMEA sentences streamed
+over a serial port into position updates.
+
+This plugin can be loaded by using the provider name \b serialnmea.
+
+
+\section1 Parameters
+
+The following table lists parameters that \e can be passed to the serialnmea plugin.
+
+\table
+\header
+ \li Parameter
+ \li Description
+\row
+ \li serialnmea.serial_port
+ \li The serial port where the NMEA stream is coming.
+\endtable
+
+\section1 Parameter Usage Example
+
+The following examples show how to create a \b serialnmea PositionSource
+listening on a specific serial port
+
+\section2 QML
+
+\code
+PositionSource {
+ name: "serialnmea"
+ PluginParameter { name: "serialnmea.serial_port"; value: "tnt1" }
+}
+\endcode
+
+\section2 C++
+
+\code
+QVariantMap params;
+params["serialnmea.serial_port"] = "tnt1";
+QGeoPositionInfoSource *positionSource = QGeoPositionInfoSource::createSource("serialnmea", params, this);
+\endcode
+
+*/
diff --git a/src/positioning/doc/src/qtpositioning-plugins.qdoc b/src/positioning/doc/src/qtpositioning-plugins.qdoc
index 37d25fc5..77fdf3aa 100644
--- a/src/positioning/doc/src/qtpositioning-plugins.qdoc
+++ b/src/positioning/doc/src/qtpositioning-plugins.qdoc
@@ -27,11 +27,43 @@
/*!
\page qtpositioning-plugins.html
-\title Qt Positioning service plugins
-\brief Implementing Qt Positioning plugins
+\title Qt Positioning plugins
+\brief Default Plugins and Implementing Qt Positioning plugins
+
+Qt Positioning provides the majority of its functionality through plugins.
+This document outlines how to develop a new position plugin.
+
+\section1 Default plugins
+Some plugins already ship with Qt. These are:
+
+\table
+ \row
+ \li \b android
+ \li Wraps Android positioning subsystem. Available only on Android.
+ \row
+ \li \b corelocation
+ \li Wraps iOS and macOS positioning subsystems. Available only on Apple platforms supporting corelocation.
+ \row
+ \li \b geoclue
+ \li Interfaces with \l{https://www.freedesktop.org/wiki/Software/GeoClue/}{GeoClue} v0.12. Requires GeoClue 0.12 to be present to function.
+ \row
+ \li \b geoclue2
+ \li Interfaces with \l{https://www.freedesktop.org/wiki/Software/GeoClue/}{GeoClue} v2. Requires GeoClue v2 to be present to function.
+ \row
+ \li \b gypsy
+ \li Interfaces with \l{https://gypsy.freedesktop.org/wiki/}{Gypsy} daemon. Requires Gypsy to be present to function.
+ \row
+ \li \b winrt
+ \li Wraps WinRT positioning subsystem. Available only on WinRT and Windows10.
+ \row
+ \li \b serialnmea
+ \li A \l {Qt Positioning Serial NMEA plugin}{Serial NMEA} backend that parses NMEA streams from a GPS receiver over a
+ serial link to provide position updates.
+ \row
+ \li \b positionpoll
+ \li A backend providing only area monitoring functionalities via polling on position updates.
+\endtable
-Qt Positioning provides the majority of its functionality through plugins. This
-document outlines how to develop a new position plugin.
\section1 Plugin Description
diff --git a/src/positioning/positioning.pro b/src/positioning/positioning.pro
index 35e8e9e1..8996a7e4 100644
--- a/src/positioning/positioning.pro
+++ b/src/positioning/positioning.pro
@@ -7,7 +7,7 @@ INCLUDEPATH += ../3rdparty/clipper
INCLUDEPATH += ../3rdparty/clip2tri
QMAKE_DOCS = $$PWD/doc/qtpositioning.qdocconf
-OTHER_FILES += configure.json doc/src/*.qdoc # show .qdoc files in Qt Creator
+OTHER_FILES += configure.json doc/src/*.qdoc doc/src/plugins/*.qdoc # show .qdoc files in Qt Creator
ANDROID_BUNDLED_JAR_DEPENDENCIES = \
jar/QtPositioning.jar:org.qtproject.qt5.android.positioning.QtPositioning