summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2019-08-27 13:37:39 +0200
committerpaolo <paolo.angelelli@qt.io>2019-09-19 10:44:57 +0200
commit97ec41652f6eadb341eab8f7936cf7f8b5252677 (patch)
tree21ee710f4ed48a7f03e926186c628bde43c9dde8
parent488df52e25842a32693f2c57f4fbe3af43168a07 (diff)
downloadqtlocation-97ec41652f6eadb341eab8f7936cf7f8b5252677.tar.gz
Fix 5.14 positioning APIs
This patch fixes a few inconsistencies in the newely added features. Change-Id: Icdf1c9208fd0d5ab1d6ec6d87fcc5be5072c3f58 Fixes: QTBUG-77865 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/positioning/qgeopositioninfosource.cpp4
-rw-r--r--src/positioning/qgeopositioninfosource.h4
-rw-r--r--src/positioning/qgeopositioninfosource_p.h2
-rw-r--r--src/positioning/qgeopositioninfosourcefactory.cpp39
-rw-r--r--src/positioning/qgeosatelliteinfosource.h2
-rw-r--r--src/positioningquick/qdeclarativepositionsource.cpp2
-rw-r--r--src/positioningquick/qdeclarativepositionsource_p.h2
-rw-r--r--tests/auto/positionplugin/plugin.cpp2
8 files changed, 48 insertions, 9 deletions
diff --git a/src/positioning/qgeopositioninfosource.cpp b/src/positioning/qgeopositioninfosource.cpp
index 69fcdef0..4690f8a3 100644
--- a/src/positioning/qgeopositioninfosource.cpp
+++ b/src/positioning/qgeopositioninfosource.cpp
@@ -133,7 +133,7 @@ void QGeoPositionInfoSourcePrivate::loadPlugin()
factory = factoryV2;
}
-bool QGeoPositionInfoSourcePrivate::setBackendProperty(const QString &/*name*/, QVariant /*value*/)
+bool QGeoPositionInfoSourcePrivate::setBackendProperty(const QString &/*name*/, const QVariant & /*value*/)
{
return false;
}
@@ -241,7 +241,7 @@ QString QGeoPositionInfoSource::sourceName() const
\sa backendProperty
\since Qt 5.14
*/
-bool QGeoPositionInfoSource::setBackendProperty(const QString &name, QVariant value)
+bool QGeoPositionInfoSource::setBackendProperty(const QString &name, const QVariant &value)
{
return d->setBackendProperty(name, value);
}
diff --git a/src/positioning/qgeopositioninfosource.h b/src/positioning/qgeopositioninfosource.h
index eaf5e106..15465bdf 100644
--- a/src/positioning/qgeopositioninfosource.h
+++ b/src/positioning/qgeopositioninfosource.h
@@ -87,7 +87,7 @@ public:
QString sourceName() const;
- bool setBackendProperty(const QString &name, QVariant value);
+ bool setBackendProperty(const QString &name, const QVariant &value);
QVariant backendProperty(const QString &name) const;
static QGeoPositionInfoSource *createDefaultSource(QObject *parent);
@@ -110,7 +110,7 @@ Q_SIGNALS:
void supportedPositioningMethodsChanged();
protected:
- QGeoPositionInfoSource(QGeoPositionInfoSourcePrivate &dd, QObject *parent);
+ explicit QGeoPositionInfoSource(QGeoPositionInfoSourcePrivate &dd, QObject *parent);
private:
Q_DISABLE_COPY(QGeoPositionInfoSource)
diff --git a/src/positioning/qgeopositioninfosource_p.h b/src/positioning/qgeopositioninfosource_p.h
index ccd92a4e..2ae93055 100644
--- a/src/positioning/qgeopositioninfosource_p.h
+++ b/src/positioning/qgeopositioninfosource_p.h
@@ -76,7 +76,7 @@ public:
void loadMeta();
void loadPlugin();
- virtual bool setBackendProperty(const QString &name, QVariant value);
+ virtual bool setBackendProperty(const QString &name, const QVariant &value);
virtual QVariant backendProperty(const QString &name) const;
static QHash<QString, QJsonObject> plugins(bool reload = false);
diff --git a/src/positioning/qgeopositioninfosourcefactory.cpp b/src/positioning/qgeopositioninfosourcefactory.cpp
index 76803566..afb0a1d3 100644
--- a/src/positioning/qgeopositioninfosourcefactory.cpp
+++ b/src/positioning/qgeopositioninfosourcefactory.cpp
@@ -84,6 +84,45 @@ QT_BEGIN_NAMESPACE
QGeoPositionInfoSourceFactory::~QGeoPositionInfoSourceFactory()
{}
+/*!
+ \class QGeoPositionInfoSourceFactoryV2
+ \inmodule QtPositioning
+ \since 5.14
+
+ \brief The QGeoPositionInfoSourceFactoryV2 class extends
+ QGeoPositionInfoSourceFactory, adding factory methods taking a parameters argument.
+
+ This interface has the priority over the older one with plugins implementing it,
+ when creating a positioning source (position, satellite or area monitor)
+*/
+
+/*!
+ \fn QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryV2::positionInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters)
+
+ Returns a new QGeoPositionInfoSource associated with this plugin
+ with parent \a parent, and using \a parameters as configuration parameters.
+ Can also return 0, in which case the plugin loader will use the factory with
+ the next highest priority.
+ */
+
+/*!
+ \fn QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryV2::satelliteInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters)
+
+ Returns a new QGeoSatelliteInfoSource associated with this plugin
+ with parent \a parent., and using \a parameters as configuration parameters.
+ Can also return 0, in which case the plugin loader will use the factory with
+ the next highest priority.
+ */
+
+/*!
+ \fn QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryV2::areaMonitorWithParameters(QObject *parent, const QVariantMap &parameters);
+
+ Returns a new QGeoAreaMonitorSource associated with this plugin with parent
+ \a parent, and using \a parameters as configuration parameters.
+ Can also return 0, in which case the plugin loader will use the factory with
+ the next highest priority.
+ */
+
QGeoPositionInfoSourceFactoryV2::~QGeoPositionInfoSourceFactoryV2()
{}
diff --git a/src/positioning/qgeosatelliteinfosource.h b/src/positioning/qgeosatelliteinfosource.h
index 4f073864..e9c4fa19 100644
--- a/src/positioning/qgeosatelliteinfosource.h
+++ b/src/positioning/qgeosatelliteinfosource.h
@@ -91,7 +91,7 @@ Q_SIGNALS:
void error(QGeoSatelliteInfoSource::Error);
protected:
- QGeoSatelliteInfoSource(QGeoSatelliteInfoSourcePrivate &dd, QObject *parent);
+ explicit QGeoSatelliteInfoSource(QGeoSatelliteInfoSourcePrivate &dd, QObject *parent);
private:
Q_DISABLE_COPY(QGeoSatelliteInfoSource)
diff --git a/src/positioningquick/qdeclarativepositionsource.cpp b/src/positioningquick/qdeclarativepositionsource.cpp
index cfbcc9da..6e042d9f 100644
--- a/src/positioningquick/qdeclarativepositionsource.cpp
+++ b/src/positioningquick/qdeclarativepositionsource.cpp
@@ -873,7 +873,7 @@ void QDeclarativePositionSource::componentComplete()
\sa backendProperty, QGeoPositionInfoSource::setBackendProperty
*/
-bool QDeclarativePositionSource::setBackendProperty(const QString &name, QVariant value)
+bool QDeclarativePositionSource::setBackendProperty(const QString &name, const QVariant &value)
{
if (m_positionSource)
return m_positionSource->setBackendProperty(name, value);
diff --git a/src/positioningquick/qdeclarativepositionsource_p.h b/src/positioningquick/qdeclarativepositionsource_p.h
index dff0006c..da6f8305 100644
--- a/src/positioningquick/qdeclarativepositionsource_p.h
+++ b/src/positioningquick/qdeclarativepositionsource_p.h
@@ -131,7 +131,7 @@ public:
void classBegin() { }
void componentComplete();
- Q_INVOKABLE bool setBackendProperty(const QString &name, QVariant value);
+ Q_INVOKABLE bool setBackendProperty(const QString &name, const QVariant &value);
Q_INVOKABLE QVariant backendProperty(const QString &name) const;
public Q_SLOTS:
diff --git a/tests/auto/positionplugin/plugin.cpp b/tests/auto/positionplugin/plugin.cpp
index 9d5c7dd5..f28797b5 100644
--- a/tests/auto/positionplugin/plugin.cpp
+++ b/tests/auto/positionplugin/plugin.cpp
@@ -69,7 +69,7 @@ private slots:
class DummySourcePrivate : public QGeoPositionInfoSourcePrivate
{
public:
- bool setBackendProperty(const QString &name, QVariant value) override
+ bool setBackendProperty(const QString &name, const QVariant &value) override
{
if (name == QStringLiteral("altitude")) {
m_altitude = value.toReal();