summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-01-20 18:15:45 +0100
committerIvan Solovev <ivan.solovev@qt.io>2021-01-22 09:30:52 +0100
commitb45ee37f5587f9193c8c03bba580334fbf0d9d42 (patch)
tree981a03f1bcc818ade90a08ac288f83bcf0ca037f
parent3aeb0bf45f605d03fa9c506ae2d06e9ec09eec9f (diff)
downloadqtlocation-b45ee37f5587f9193c8c03bba580334fbf0d9d42.tar.gz
QtPositioning: refactor QGeoPositionInfoSourceFactory
[ChangeLog][QtPositioning][Important Behavior Changes] Remove QGeoPositionInfoSourceFactoryV2 and update QGeoPositionInfoSourceFactory to support source configuration parameters. Update plugin ID string. Task-number: QTBUG-90491 Change-Id: I1d3dc556d73e273e2e364f77e2decaad11810547 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/plugins/position/android/src/positionfactory_android.cpp13
-rw-r--r--src/plugins/position/android/src/positionfactory_android.h8
-rw-r--r--src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.h8
-rw-r--r--src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.mm17
-rw-r--r--src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp13
-rw-r--r--src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.h8
-rw-r--r--src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.cpp13
-rw-r--r--src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.h8
-rw-r--r--src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.cpp19
-rw-r--r--src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.h8
-rw-r--r--src/plugins/position/positionpoll/positionpollfactory.cpp19
-rw-r--r--src/plugins/position/positionpoll/positionpollfactory.h8
-rw-r--r--src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp21
-rw-r--r--src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.h16
-rw-r--r--src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.cpp15
-rw-r--r--src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.h8
-rw-r--r--src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.cpp13
-rw-r--r--src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.h8
-rw-r--r--src/positioning/qgeoareamonitorsource.cpp4
-rw-r--r--src/positioning/qgeopositioninfosource.cpp14
-rw-r--r--src/positioning/qgeopositioninfosource_p.h1
-rw-r--r--src/positioning/qgeopositioninfosourcefactory.cpp64
-rw-r--r--src/positioning/qgeopositioninfosourcefactory.h23
-rw-r--r--src/positioning/qgeosatelliteinfosource.cpp6
-rw-r--r--tests/auto/CMakeLists.txt1
-rw-r--r--tests/auto/auto.pro1
-rw-r--r--tests/auto/positionplugin/plugin.cpp40
-rw-r--r--tests/auto/positionpluginV1/CMakeLists.txt21
-rw-r--r--tests/auto/positionpluginV1/plugin.cpp212
-rw-r--r--tests/auto/positionpluginV1/plugin.json9
-rw-r--r--tests/auto/positionpluginV1/positionpluginV1.pro12
31 files changed, 147 insertions, 484 deletions
diff --git a/src/plugins/position/android/src/positionfactory_android.cpp b/src/plugins/position/android/src/positionfactory_android.cpp
index 25d6ed0e..436b1df6 100644
--- a/src/plugins/position/android/src/positionfactory_android.cpp
+++ b/src/plugins/position/android/src/positionfactory_android.cpp
@@ -41,20 +41,23 @@
#include "qgeopositioninfosource_android_p.h"
#include "qgeosatelliteinfosource_android_p.h"
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryAndroid::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryAndroid::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
QGeoPositionInfoSourceAndroid *src = new QGeoPositionInfoSourceAndroid(parent);
return src;
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryAndroid::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryAndroid::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
QGeoSatelliteInfoSourceAndroid *src = new QGeoSatelliteInfoSourceAndroid(parent);
return src;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryAndroid::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryAndroid::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
diff --git a/src/plugins/position/android/src/positionfactory_android.h b/src/plugins/position/android/src/positionfactory_android.h
index cdab6f1b..0494b533 100644
--- a/src/plugins/position/android/src/positionfactory_android.h
+++ b/src/plugins/position/android/src/positionfactory_android.h
@@ -46,13 +46,13 @@
class QGeoPositionInfoSourceFactoryAndroid : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent);
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent);
- QGeoAreaMonitorSource *areaMonitor(QObject *parent);
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
#endif // POSITIONPOLLFACTORY_H
diff --git a/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.h b/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.h
index 5ab1ce6a..7e14e31f 100644
--- a/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.h
+++ b/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.h
@@ -46,13 +46,13 @@
class QGeoPositionInfoSourceFactoryCL : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent);
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent);
- QGeoAreaMonitorSource *areaMonitor(QObject *parent);
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
#endif // QGEOPOSITIONINFOSOURCEFACTORY_CL_H
diff --git a/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.mm b/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.mm
index 06a3ad38..e7d2a116 100644
--- a/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.mm
+++ b/src/plugins/position/corelocation/qgeopositioninfosourcefactory_cl.mm
@@ -40,19 +40,22 @@
#include "qgeopositioninfosource_cl_p.h"
#include "qgeopositioninfosourcefactory_cl.h"
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryCL::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryCL::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
return new QGeoPositionInfoSourceCL(parent);
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryCL::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryCL::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryCL::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryCL::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
diff --git a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
index efd62f8c..ecc9256d 100644
--- a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
+++ b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
@@ -49,20 +49,23 @@ Q_LOGGING_CATEGORY(lcPositioningGeoclue, "qt.positioning.geoclue")
QT_BEGIN_NAMESPACE
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
return new QGeoPositionInfoSourceGeoclueMaster(parent);
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryGeoclue::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryGeoclue::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
return new QGeoSatelliteInfoSourceGeoclueMaster(parent);
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryGeoclue::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryGeoclue::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
QT_END_NAMESPACE
diff --git a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.h b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.h
index d27721da..fa6056d0 100644
--- a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.h
+++ b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.h
@@ -54,15 +54,15 @@ class QGeoPositionInfoSourceFactoryGeoclue : public QObject, public QGeoPosition
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
QT_END_NAMESPACE
diff --git a/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.cpp b/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.cpp
index b885e1eb..68caba3a 100644
--- a/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.cpp
+++ b/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.cpp
@@ -46,20 +46,23 @@ Q_LOGGING_CATEGORY(lcPositioningGeoclue2, "qt.positioning.geoclue2")
QT_BEGIN_NAMESPACE
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue2::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue2::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
return new QGeoPositionInfoSourceGeoclue2(parent);
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryGeoclue2::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryGeoclue2::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
return nullptr;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryGeoclue2::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryGeoclue2::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
return nullptr;
}
diff --git a/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.h b/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.h
index bfacd848..1cd72fff 100644
--- a/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.h
+++ b/src/plugins/position/geoclue2/qgeopositioninfosourcefactory_geoclue2.h
@@ -52,15 +52,15 @@ class QGeoPositionInfoSourceFactoryGeoclue2 : public QObject, public QGeoPositio
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
QT_END_NAMESPACE
diff --git a/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.cpp b/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.cpp
index ecb1b2e0..84fa1a5c 100644
--- a/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.cpp
+++ b/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.cpp
@@ -40,24 +40,27 @@
#include "qgeopositioninfosourcefactory_gypsy.h"
#include "qgeosatelliteinfosource_gypsy_p.h"
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGypsy::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGypsy::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryGypsy::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryGypsy::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
QGeoSatelliteInfoSourceGypsy *src = new QGeoSatelliteInfoSourceGypsy(parent);
if (src->init() < 0) {
delete src;
- src = 0;
+ src = nullptr;
}
return src;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryGypsy::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryGypsy::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
diff --git a/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.h b/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.h
index 32e9051a..495301fd 100644
--- a/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.h
+++ b/src/plugins/position/gypsy/qgeopositioninfosourcefactory_gypsy.h
@@ -46,14 +46,14 @@
class QGeoPositionInfoSourceFactoryGypsy : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
#endif
diff --git a/src/plugins/position/positionpoll/positionpollfactory.cpp b/src/plugins/position/positionpoll/positionpollfactory.cpp
index 20e2774e..a47b2b10 100644
--- a/src/plugins/position/positionpoll/positionpollfactory.cpp
+++ b/src/plugins/position/positionpoll/positionpollfactory.cpp
@@ -40,23 +40,26 @@
#include "positionpollfactory.h"
#include "qgeoareamonitor_polling.h"
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryPoll::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryPoll::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryPoll::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryPoll::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryPoll::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryPoll::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
QGeoAreaMonitorPolling *ret = new QGeoAreaMonitorPolling(parent);
if (ret && ret->isValid())
return ret;
delete ret;
- return 0;
+ return nullptr;
}
diff --git a/src/plugins/position/positionpoll/positionpollfactory.h b/src/plugins/position/positionpoll/positionpollfactory.h
index e1e33c55..570b3b21 100644
--- a/src/plugins/position/positionpoll/positionpollfactory.h
+++ b/src/plugins/position/positionpoll/positionpollfactory.h
@@ -46,13 +46,13 @@
class QGeoPositionInfoSourceFactoryPoll : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
#endif // POSITIONPOLLFACTORY_H
diff --git a/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp b/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
index fca7ab40..878e8de0 100644
--- a/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
+++ b/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.cpp
@@ -234,34 +234,19 @@ private:
QString m_portName;
};
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactorySerialNmea::positionInfoSource(QObject *parent)
-{
- return positionInfoSourceWithParameters(parent, QVariantMap());
-}
-
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactorySerialNmea::satelliteInfoSource(QObject *parent)
-{
- return satelliteInfoSourceWithParameters(parent, QVariantMap());
-}
-
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactorySerialNmea::areaMonitor(QObject *parent)
-{
- return areaMonitorWithParameters(parent, QVariantMap());
-}
-
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactorySerialNmea::positionInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactorySerialNmea::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
QScopedPointer<NmeaSource> src(new NmeaSource(parent, parameters));
return src->isValid() ? src.take() : nullptr;
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactorySerialNmea::satelliteInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactorySerialNmea::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
QScopedPointer<NmeaSatelliteSource> src(new NmeaSatelliteSource(parent, parameters));
return src->isValid() ? src.take() : nullptr;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactorySerialNmea::areaMonitorWithParameters(QObject *parent, const QVariantMap &parameters)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactorySerialNmea::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
Q_UNUSED(parent);
Q_UNUSED(parameters);
diff --git a/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.h b/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.h
index eb468771..880c141c 100644
--- a/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.h
+++ b/src/plugins/position/serialnmea/qgeopositioninfosourcefactory_serialnmea.h
@@ -43,21 +43,17 @@
#include <QObject>
#include <qgeopositioninfosourcefactory.h>
-class QGeoPositionInfoSourceFactorySerialNmea : public QObject, public QGeoPositionInfoSourceFactoryV2
+class QGeoPositionInfoSourceFactorySerialNmea : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
- Q_INTERFACES(QGeoPositionInfoSourceFactoryV2)
+ Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
-
- QGeoPositionInfoSource *positionInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters) override;
- QGeoSatelliteInfoSource *satelliteInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters) override;
- QGeoAreaMonitorSource *areaMonitorWithParameters(QObject *parent, const QVariantMap &parameters) override;
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
#endif
diff --git a/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.cpp b/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.cpp
index 9ddc2b97..7c7c8d5a 100644
--- a/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.cpp
+++ b/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.cpp
@@ -39,23 +39,26 @@
#include "qgeopositioninfosourcefactory_simulator.h"
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactorySimulator::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactorySimulator::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
return new QGeoPositionInfoSourceSimulator(parent);
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactorySimulator::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactorySimulator::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
+ Q_UNUSED(parameters)
QGeoSatelliteInfoSourceSimulator *src = new QGeoSatelliteInfoSourceSimulator(parent);
if (!src->isConnected()) {
delete src;
- src = 0;
+ src = nullptr;
}
return src;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactorySimulator::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactorySimulator::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
- Q_UNUSED(parent);
- return 0;
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
+ return nullptr;
}
diff --git a/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.h b/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.h
index 2d3146e2..bf17ddf3 100644
--- a/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.h
+++ b/src/plugins/position/simulator/qgeopositioninfosourcefactory_simulator.h
@@ -49,13 +49,13 @@
class QGeoPositionInfoSourceFactorySimulator : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent);
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent);
- QGeoAreaMonitorSource *areaMonitor(QObject *parent);
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
#endif // QGEOPOSITIONINFOSOURCEFACTORY_SIMULATOR_H
diff --git a/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.cpp
index 03b86ca7..4e75c242 100644
--- a/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.cpp
+++ b/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.cpp
@@ -43,24 +43,27 @@ Q_LOGGING_CATEGORY(lcPositioningWinRT, "qt.positioning.winrt")
QT_BEGIN_NAMESPACE
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryWinRT::positionInfoSource(QObject *parent)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryWinRT::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
qCDebug(lcPositioningWinRT) << __FUNCTION__;
+ Q_UNUSED(parameters)
QGeoPositionInfoSourceWinRT *src = new QGeoPositionInfoSourceWinRT(parent);
return src;
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryWinRT::satelliteInfoSource(QObject *parent)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryWinRT::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
qCDebug(lcPositioningWinRT) << __FUNCTION__;
- Q_UNUSED(parent);
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
return nullptr;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryWinRT::areaMonitor(QObject *parent)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryWinRT::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
qCDebug(lcPositioningWinRT) << __FUNCTION__;
- Q_UNUSED(parent);
+ Q_UNUSED(parent)
+ Q_UNUSED(parameters)
return nullptr;
}
diff --git a/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.h b/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.h
index d09ddb64..3e1ca3c5 100644
--- a/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.h
+++ b/src/plugins/position/winrt/qgeopositioninfosourcefactory_winrt.h
@@ -45,13 +45,13 @@ QT_BEGIN_NAMESPACE
class QGeoPositionInfoSourceFactoryWinRT : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent);
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent);
- QGeoAreaMonitorSource *areaMonitor(QObject *parent);
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
QT_END_NAMESPACE
diff --git a/src/positioning/qgeoareamonitorsource.cpp b/src/positioning/qgeoareamonitorsource.cpp
index d056f1bc..5ef05a1e 100644
--- a/src/positioning/qgeoareamonitorsource.cpp
+++ b/src/positioning/qgeoareamonitorsource.cpp
@@ -155,7 +155,7 @@ QGeoAreaMonitorSource *QGeoAreaMonitorSource::createDefaultSource(QObject *paren
d.loadPlugin();
QGeoAreaMonitorSource *s = 0;
if (d.factory)
- s = d.factory->areaMonitor(parent);
+ s = d.factory->areaMonitor(parent, QVariantMap());
if (s)
s->d->providerName = d.metaData.value(QStringLiteral("Provider")).toString();
return s;
@@ -180,7 +180,7 @@ QGeoAreaMonitorSource *QGeoAreaMonitorSource::createSource(const QString &source
d.loadPlugin();
QGeoAreaMonitorSource *s = 0;
if (d.factory)
- s = d.factory->areaMonitor(parent);
+ s = d.factory->areaMonitor(parent, QVariantMap());
if (s)
s->d->providerName = d.metaData.value(QStringLiteral("Provider")).toString();
return s;
diff --git a/src/positioning/qgeopositioninfosource.cpp b/src/positioning/qgeopositioninfosource.cpp
index 968b2914..79357729 100644
--- a/src/positioning/qgeopositioninfosource.cpp
+++ b/src/positioning/qgeopositioninfosource.cpp
@@ -52,7 +52,7 @@
QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
- ("org.qt-project.qt.position.sourcefactory/5.0",
+ ("org.qt-project.qt.position.sourcefactory/6.0",
QLatin1String("/position")))
/*!
@@ -126,11 +126,7 @@ void QGeoPositionInfoSourcePrivate::loadPlugin()
QObject *instance = loader()->instance(idx);
if (!instance)
return;
- factoryV2 = qobject_cast<QGeoPositionInfoSourceFactoryV2 *>(instance);
- if (!factoryV2)
- factory = qobject_cast<QGeoPositionInfoSourceFactory *>(instance);
- else
- factory = factoryV2;
+ factory = qobject_cast<QGeoPositionInfoSourceFactory *>(instance);
}
bool QGeoPositionInfoSourcePrivate::setBackendProperty(const QString &/*name*/, const QVariant & /*value*/)
@@ -334,10 +330,8 @@ static QGeoPositionInfoSource* createSource_real(const QJsonObject &meta, const
d.metaData = meta;
d.loadPlugin();
QGeoPositionInfoSource *s = nullptr;
- if (!parameters.isEmpty() && d.factoryV2)
- s = d.factoryV2->positionInfoSourceWithParameters(parent, parameters);
- else if (d.factory)
- s = d.factory->positionInfoSource(parent);
+ if (d.factory)
+ s = d.factory->positionInfoSource(parent, parameters);
if (s)
QGeoPositionInfoSourcePrivate::get(*s)->metaData = d.metaData;
diff --git a/src/positioning/qgeopositioninfosource_p.h b/src/positioning/qgeopositioninfosource_p.h
index e12ede4c..f501178a 100644
--- a/src/positioning/qgeopositioninfosource_p.h
+++ b/src/positioning/qgeopositioninfosource_p.h
@@ -71,7 +71,6 @@ public:
QGeoPositionInfoSource::PositioningMethods methods;
QJsonObject metaData;
QGeoPositionInfoSourceFactory *factory = nullptr;
- QGeoPositionInfoSourceFactoryV2 *factoryV2 = nullptr;
QString providerName;
void loadMeta();
diff --git a/src/positioning/qgeopositioninfosourcefactory.cpp b/src/positioning/qgeopositioninfosourcefactory.cpp
index d9971c26..673ee60e 100644
--- a/src/positioning/qgeopositioninfosourcefactory.cpp
+++ b/src/positioning/qgeopositioninfosourcefactory.cpp
@@ -49,81 +49,41 @@ QT_BEGIN_NAMESPACE
\brief The QGeoPositionInfoSourceFactory class is a factory class used
as the plugin interface for external providers of positioning data.
- The other functions must be overridden by all plugins, other than
- sourcePriority() which defaults to returning 0. Higher values of
- priority will be preferred to lower ones.
+ Each factory method takes a parameters argument, which allows to configure
+ the created source.
*/
/*!
- \fn QGeoPositionInfoSource *QGeoPositionInfoSourceFactory::positionInfoSource(QObject *parent)
-
- Returns a new QGeoPositionInfoSource associated with this plugin
- with parent \a parent. Can also return 0, in which case the plugin
- loader will use the factory with the next highest priority.
- */
-
-/*!
- \fn QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactory::satelliteInfoSource(QObject *parent)
-
- Returns a new QGeoSatelliteInfoSource associated with this plugin
- with parent \a parent. Can also return 0, in which case the plugin
- loader will use the factory with the next highest priority.
- */
-
-/*!
- \fn QGeoAreaMonitorSource *QGeoPositionInfoSourceFactory::areaMonitor(QObject *parent);
-
- Returns a new QGeoAreaMonitorSource associated with this plugin with parent \a parent.
- Can also return 0, in which case the plugin loader will use the factory with the
- next highest priority.
- */
-
-/*!
- Destroys the position info source factory.
-*/
-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)
+ \fn QGeoPositionInfoSource *QGeoPositionInfoSourceFactory::positionInfoSource(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)
+ \fn QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactory::satelliteInfoSource(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);
+ \fn QGeoAreaMonitorSource *QGeoPositionInfoSourceFactory::areaMonitor(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()
+/*!
+ Destroys the position info source factory.
+*/
+QGeoPositionInfoSourceFactory::~QGeoPositionInfoSourceFactory()
{}
QT_END_NAMESPACE
diff --git a/src/positioning/qgeopositioninfosourcefactory.h b/src/positioning/qgeopositioninfosourcefactory.h
index e55a1eb3..dc98bc85 100644
--- a/src/positioning/qgeopositioninfosourcefactory.h
+++ b/src/positioning/qgeopositioninfosourcefactory.h
@@ -52,29 +52,14 @@ class Q_POSITIONING_EXPORT QGeoPositionInfoSourceFactory
public:
virtual ~QGeoPositionInfoSourceFactory();
- virtual QGeoPositionInfoSource *positionInfoSource(QObject *parent) = 0;
- virtual QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) = 0;
- virtual QGeoAreaMonitorSource *areaMonitor(QObject *parent) = 0;
+ virtual QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) = 0;
+ virtual QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) = 0;
+ virtual QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) = 0;
};
#define QT_POSITION_SOURCE_INTERFACE
Q_DECLARE_INTERFACE(QGeoPositionInfoSourceFactory,
- "org.qt-project.qt.position.sourcefactory/5.0")
-
-class Q_POSITIONING_EXPORT QGeoPositionInfoSourceFactoryV2 : public QGeoPositionInfoSourceFactory
-{
-public:
- virtual ~QGeoPositionInfoSourceFactoryV2();
-
- virtual QGeoPositionInfoSource *positionInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters) = 0;
- virtual QGeoSatelliteInfoSource *satelliteInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters) = 0;
- virtual QGeoAreaMonitorSource *areaMonitorWithParameters(QObject *parent, const QVariantMap &parameters) = 0;
-};
-
-// Although not actually used for constructing a specialized loader, this is required for
-// casting a QObject * into QGeoPositionInfoSourceFactoryV2 *
-Q_DECLARE_INTERFACE(QGeoPositionInfoSourceFactoryV2,
- "org.qt-project.qt.position.sourcefactoryV2/5.0")
+ "org.qt-project.qt.position.sourcefactory/6.0")
QT_END_NAMESPACE
diff --git a/src/positioning/qgeosatelliteinfosource.cpp b/src/positioning/qgeosatelliteinfosource.cpp
index f39121dd..379c20df 100644
--- a/src/positioning/qgeosatelliteinfosource.cpp
+++ b/src/positioning/qgeosatelliteinfosource.cpp
@@ -171,10 +171,8 @@ static QGeoSatelliteInfoSource* createSource_real(const QJsonObject &meta, const
d.metaData = meta;
d.loadPlugin();
QGeoSatelliteInfoSource *s = nullptr;
- if (!parameters.isEmpty() && d.factoryV2)
- s = d.factoryV2->satelliteInfoSourceWithParameters(parent, parameters);
- else if (d.factory)
- s = d.factory->satelliteInfoSource(parent);
+ if (d.factory)
+ s = d.factory->satelliteInfoSource(parent, parameters);
if (s)
QGeoSatelliteInfoSourcePrivate::get(*s)->providerName = d.metaData.value(QStringLiteral("Provider")).toString();
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
index ab6de00f..65412e06 100644
--- a/tests/auto/CMakeLists.txt
+++ b/tests/auto/CMakeLists.txt
@@ -74,7 +74,6 @@ add_subdirectory(qgeosatelliteinfo)
# endif()
if(NOT ANDROID)
add_subdirectory(positionplugin)
- add_subdirectory(positionpluginV1)
add_subdirectory(positionplugintest)
add_subdirectory(qgeoareamonitor)
add_subdirectory(qgeopositioninfosource)
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index d26711c3..912b6e42 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -96,7 +96,6 @@ SUBDIRS += \
!android: SUBDIRS += \
positionplugin \
- positionpluginV1 \
positionplugintest \
qgeoareamonitor \
qgeopositioninfosource \
diff --git a/tests/auto/positionplugin/plugin.cpp b/tests/auto/positionplugin/plugin.cpp
index fd8f931d..b888a53c 100644
--- a/tests/auto/positionplugin/plugin.cpp
+++ b/tests/auto/positionplugin/plugin.cpp
@@ -211,54 +211,32 @@ void DummySource::doTimeout()
}
-class QGeoPositionInfoSourceFactoryTest : public QObject, public QGeoPositionInfoSourceFactoryV2
+class QGeoPositionInfoSourceFactoryTest : public QObject, public QGeoPositionInfoSourceFactory
{
Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
+ Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/6.0"
FILE "plugin.json")
- Q_INTERFACES(QGeoPositionInfoSourceFactoryV2)
+ Q_INTERFACES(QGeoPositionInfoSourceFactory)
public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
-
- QGeoPositionInfoSource *positionInfoSourceWithParameters(QObject *parent,
- const QVariantMap &parameters) override;
- QGeoSatelliteInfoSource *satelliteInfoSourceWithParameters(QObject *parent,
- const QVariantMap &parameters) override;
- QGeoAreaMonitorSource *areaMonitorWithParameters(QObject *parent,
- const QVariantMap &parameters) override;
+ QGeoPositionInfoSource *positionInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent, const QVariantMap &parameters) override;
+ QGeoAreaMonitorSource *areaMonitor(QObject *parent, const QVariantMap &parameters) override;
};
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryTest::positionInfoSource(QObject *parent)
-{
- return new DummySource(QVariantMap(), parent);
-}
-
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryTest::satelliteInfoSource(QObject *parent)
-{
- return satelliteInfoSourceWithParameters(parent, QVariantMap());
-}
-
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryTest::areaMonitor(QObject* parent)
-{
- return areaMonitorWithParameters(parent, QVariantMap());
-}
-
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryTest::positionInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters)
+QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryTest::positionInfoSource(QObject *parent, const QVariantMap &parameters)
{
return new DummySource(parameters, parent);
}
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryTest::satelliteInfoSourceWithParameters(QObject *parent, const QVariantMap &parameters)
+QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryTest::satelliteInfoSource(QObject *parent, const QVariantMap &parameters)
{
Q_UNUSED(parent);
Q_UNUSED(parameters);
return nullptr;
}
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryTest::areaMonitorWithParameters(QObject *parent, const QVariantMap &parameters)
+QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryTest::areaMonitor(QObject *parent, const QVariantMap &parameters)
{
Q_UNUSED(parent);
Q_UNUSED(parameters);
diff --git a/tests/auto/positionpluginV1/CMakeLists.txt b/tests/auto/positionpluginV1/CMakeLists.txt
deleted file mode 100644
index 95cbe5b8..00000000
--- a/tests/auto/positionpluginV1/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-# Generated from positionpluginV1.pro.
-
-#####################################################################
-## QGeoPositionInfoSourceFactoryTestV1 Plugin:
-#####################################################################
-
-qt_internal_add_plugin(QGeoPositionInfoSourceFactoryTestV1
- OUTPUT_NAME qtposition_testpluginv1
- TYPE position
- DEFAULT_IF FALSE
- SOURCES
- plugin.cpp
- PUBLIC_LIBRARIES
- Qt::Core
- Qt::Gui
- Qt::Positioning
-)
-
-#### Keys ignored in scope 1:.:.:positionpluginV1.pro:<TRUE>:
-# OTHER_FILES = "plugin.json"
-# PLUGIN_EXTENDS = "-"
diff --git a/tests/auto/positionpluginV1/plugin.cpp b/tests/auto/positionpluginV1/plugin.cpp
deleted file mode 100644
index f3d0165e..00000000
--- a/tests/auto/positionpluginV1/plugin.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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 General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtPositioning/qgeopositioninfosource.h>
-#include <QtPositioning/qgeopositioninfosourcefactory.h>
-#include <QObject>
-#include <QtPlugin>
-#include <QTimer>
-
-QT_USE_NAMESPACE
-
-class DummySource : public QGeoPositionInfoSource
-{
- Q_OBJECT
-
-public:
- DummySource(QObject *parent = nullptr);
- ~DummySource();
-
- void startUpdates() override;
- void stopUpdates() override;
- void requestUpdate(int timeout = 5000) override;
-
- QGeoPositionInfo lastKnownPosition(bool fromSatellitePositioningMethodsOnly) const override;
- PositioningMethods supportedPositioningMethods() const override;
-
- void setUpdateInterval(int msec) override;
- int minimumUpdateInterval() const override;
- Error error() const override;
-
-private:
- QTimer *timer;
- QTimer *timeoutTimer;
- QTimer *singleTimer;
- QGeoPositionInfo lastPosition;
- QDateTime lastUpdateTime;
-
-private slots:
- void updatePosition();
- void doTimeout();
-};
-
-DummySource::DummySource(QObject *parent) :
- QGeoPositionInfoSource(parent),
- timer(new QTimer(this)),
- timeoutTimer(new QTimer(this)),
- singleTimer(new QTimer(this)),
- lastPosition(QGeoCoordinate(0,0), QDateTime::currentDateTime())
-{
- timer->setInterval(1000);
- connect(timer, SIGNAL(timeout()),
- this, SLOT(updatePosition()));
- connect(singleTimer, SIGNAL(timeout()),
- this, SLOT(updatePosition()));
- connect(timeoutTimer, SIGNAL(timeout()),
- this, SLOT(doTimeout()));
-}
-
-QGeoPositionInfoSource::Error DummySource::error() const
-{
- return QGeoPositionInfoSource::NoError;
-}
-
-
-void DummySource::setUpdateInterval(int msec)
-{
- if (msec == 0) {
- timer->setInterval(1000);
- } else if (msec < 1000) {
- msec = 1000;
- timer->setInterval(msec);
- } else {
- timer->setInterval(msec);
- }
-
- QGeoPositionInfoSource::setUpdateInterval(msec);
-}
-
-int DummySource::minimumUpdateInterval() const
-{
- return 1000;
-}
-
-QGeoPositionInfo DummySource::lastKnownPosition(bool fromSatellitePositioningMethodsOnly) const
-{
- Q_UNUSED(fromSatellitePositioningMethodsOnly);
- return lastPosition;
-}
-
-QGeoPositionInfoSource::PositioningMethods DummySource::supportedPositioningMethods() const
-{
- return QGeoPositionInfoSource::AllPositioningMethods;
-}
-
-void DummySource::startUpdates()
-{
- timer->start();
-}
-
-void DummySource::stopUpdates()
-{
- timer->stop();
-}
-
-void DummySource::requestUpdate(int timeout)
-{
- if (timeout == 0)
- timeout = 5000;
- if (timeout < 0)
- timeout = 0;
-
- timeoutTimer->setInterval(timeout);
- timeoutTimer->start();
-
- if (timer->isActive()) {
- timer->stop();
- timer->start();
- }
-
- singleTimer->setInterval(1000);
- singleTimer->start();
-}
-
-DummySource::~DummySource()
-{}
-
-void DummySource::updatePosition()
-{
- timeoutTimer->stop();
- singleTimer->stop();
-
- const QDateTime now = QDateTime::currentDateTime();
-
- QGeoCoordinate coord(lastPosition.coordinate().latitude() + 0.1,
- lastPosition.coordinate().longitude() + 0.1);
-
- QGeoPositionInfo info(coord, now);
- info.setAttribute(QGeoPositionInfo::Direction, lastPosition.coordinate().azimuthTo(coord));
- if (lastUpdateTime.isValid()) {
- double speed = lastPosition.coordinate().distanceTo(coord) / lastUpdateTime.msecsTo(now);
- info.setAttribute(QGeoPositionInfo::GroundSpeed, 1000 * speed);
- }
-
- lastUpdateTime = now;
- lastPosition = info;
- emit positionUpdated(info);
-}
-
-void DummySource::doTimeout()
-{
- timeoutTimer->stop();
- singleTimer->stop();
- emit updateTimeout();
-}
-
-
-class QGeoPositionInfoSourceFactoryTestV1 : public QObject, public QGeoPositionInfoSourceFactory
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.qt.position.sourcefactory/5.0"
- FILE "plugin.json")
- Q_INTERFACES(QGeoPositionInfoSourceFactory)
-
-public:
- QGeoPositionInfoSource *positionInfoSource(QObject *parent) override;
- QGeoSatelliteInfoSource *satelliteInfoSource(QObject *parent) override;
- QGeoAreaMonitorSource *areaMonitor(QObject *parent) override;
-};
-
-QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryTestV1::positionInfoSource(QObject *parent)
-{
- return new DummySource(parent);
-}
-
-QGeoSatelliteInfoSource *QGeoPositionInfoSourceFactoryTestV1::satelliteInfoSource(QObject *parent)
-{
- Q_UNUSED(parent);
- return nullptr;
-}
-
-QGeoAreaMonitorSource *QGeoPositionInfoSourceFactoryTestV1::areaMonitor(QObject* parent)
-{
- Q_UNUSED(parent);
- return nullptr;
-}
-
-#include "plugin.moc"
diff --git a/tests/auto/positionpluginV1/plugin.json b/tests/auto/positionpluginV1/plugin.json
deleted file mode 100644
index 9acf27e7..00000000
--- a/tests/auto/positionpluginV1/plugin.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "Keys": ["test.source.v1"],
- "Provider": "test.source.v1",
- "Position": true,
- "Satellite": false,
- "Monitor": false,
- "Priority": 0,
- "Testable": true
-}
diff --git a/tests/auto/positionpluginV1/positionpluginV1.pro b/tests/auto/positionpluginV1/positionpluginV1.pro
deleted file mode 100644
index 925a7e29..00000000
--- a/tests/auto/positionpluginV1/positionpluginV1.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-TARGET = qtposition_testpluginv1
-QT += positioning
-
-PLUGIN_TYPE = position
-PLUGIN_CLASS_NAME = QGeoPositionInfoSourceFactoryTestV1
-PLUGIN_EXTENDS = -
-load(qt_plugin)
-
-SOURCES += plugin.cpp
-
-OTHER_FILES += \
- plugin.json