summaryrefslogtreecommitdiff
path: root/src/positioningquick
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2019-05-02 18:53:35 +0200
committerpaolo <paolo.angelelli@qt.io>2019-07-24 16:25:44 +0200
commitf8694e1f3430b7851fc90e26c6d778a86219379a (patch)
treefbe92684c4458431bf29d8b68d8cddea7b8e496a /src/positioningquick
parent17e3f08377c34d301401fbd3c40b525790fcd9a5 (diff)
downloadqtlocation-f8694e1f3430b7851fc90e26c6d778a86219379a.tar.gz
Allow setting backend properties of positioning plugins
This change adds a pair of setter/getter to specify positioning backend properties at runtime, both in QGeoPositionInfoSource and QDeclarativePositionSource. Task-number: QTBUG-66304 Change-Id: Iea9421fb708879bee5c62c4afaf45cbda57f50bb Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioningquick')
-rw-r--r--src/positioningquick/qdeclarativepositionsource.cpp38
-rw-r--r--src/positioningquick/qdeclarativepositionsource_p.h3
2 files changed, 41 insertions, 0 deletions
diff --git a/src/positioningquick/qdeclarativepositionsource.cpp b/src/positioningquick/qdeclarativepositionsource.cpp
index 3bf39081..cfbcc9da 100644
--- a/src/positioningquick/qdeclarativepositionsource.cpp
+++ b/src/positioningquick/qdeclarativepositionsource.cpp
@@ -862,6 +862,44 @@ void QDeclarativePositionSource::componentComplete()
}
/*!
+ \qmlmethod bool QtLocation::PositionSource::setBackendProperty(string name, Variant value)
+
+ Sets the backend-specific property named \a name to \a value.
+ Returns true on success, false otherwise, including if called on an uninitialized PositionSource.
+ Supported backend-specific properties are listed and described in
+ \l {Qt Positioning plugins#Default plugins}.
+
+ \since Qt Positioning 5.14
+
+ \sa backendProperty, QGeoPositionInfoSource::setBackendProperty
+*/
+bool QDeclarativePositionSource::setBackendProperty(const QString &name, QVariant value)
+{
+ if (m_positionSource)
+ return m_positionSource->setBackendProperty(name, value);
+ return false;
+}
+
+/*!
+ \qmlmethod Variant QtLocation::PositionSource::backendProperty(string name)
+
+ Returns the value of the backend-specific property named \a name, if present.
+ Otherwise, including if called on an uninitialized PositionSource, the return value will be invalid.
+ Supported backend-specific properties are listed and described in
+ \l {Qt Positioning plugins#Default plugins}.
+
+ \since Qt Positioning 5.14
+
+ \sa backendProperty, QGeoPositionInfoSource::setBackendProperty
+*/
+QVariant QDeclarativePositionSource::backendProperty(const QString &name) const
+{
+ if (m_positionSource)
+ return m_positionSource->backendProperty(name);
+ return QVariant();
+}
+
+/*!
\internal
*/
void QDeclarativePositionSource::sourceErrorReceived(const QGeoPositionInfoSource::Error error)
diff --git a/src/positioningquick/qdeclarativepositionsource_p.h b/src/positioningquick/qdeclarativepositionsource_p.h
index 7e389b85..dff0006c 100644
--- a/src/positioningquick/qdeclarativepositionsource_p.h
+++ b/src/positioningquick/qdeclarativepositionsource_p.h
@@ -131,6 +131,9 @@ public:
void classBegin() { }
void componentComplete();
+ Q_INVOKABLE bool setBackendProperty(const QString &name, QVariant value);
+ Q_INVOKABLE QVariant backendProperty(const QString &name) const;
+
public Q_SLOTS:
void update(); // TODO Qt 6 change to void update(int)
void start();