summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2018-03-21 17:10:48 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2018-03-23 08:43:20 +0000
commit8b628532736d31c1324cb0c345fd82019a5ce2b8 (patch)
tree7ec82e482402bf8c7bffca0d2a7eec2e080b1d87
parentfe16faf08d5e411504ab16ab9d2726cfae4bc03e (diff)
downloadqtlocation-8b628532736d31c1324cb0c345fd82019a5ce2b8.tar.gz
Declare/Register metatype for QGeoPositionInfo
Instead of doing it all over the place, declare it in qgeopositioninfo.h and register it in QGeoPositionInfoSource() as well as in positioning.cpp Task-number: QTBUG-65937 Change-Id: I819af3393921bdc9ca46832d5b4181d41546dac0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/imports/positioning/positioning.cpp3
-rw-r--r--src/plugins/position/android/src/qgeopositioninfosource_android.cpp2
-rw-r--r--src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp3
-rw-r--r--src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp4
-rw-r--r--src/positioning/qgeopositioninfo.h2
-rw-r--r--src/positioning/qgeopositioninfosource.cpp1
-rw-r--r--tests/auto/positionplugintest/tst_positionplugin.cpp3
-rw-r--r--tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp2
-rw-r--r--tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp1
-rw-r--r--tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp3
-rw-r--r--tests/auto/qnmeapositioninfosource/dummynmeapositioninfosource/tst_dummynmeapositioninfosource.cpp3
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp1
-rw-r--r--tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h1
13 files changed, 8 insertions, 21 deletions
diff --git a/src/imports/positioning/positioning.cpp b/src/imports/positioning/positioning.cpp
index 1f7f9498..fb1e987e 100644
--- a/src/imports/positioning/positioning.cpp
+++ b/src/imports/positioning/positioning.cpp
@@ -57,6 +57,7 @@
#include <QtPositioning/QGeoCircle>
#include <QtPositioning/QGeoPath>
#include <QtPositioning/QGeoLocation>
+#include <QtPositioning/QGeoPositionInfo>
#include <QtPositioning/private/qgeocoordinateobject_p.h>
#include <QtCore/QDebug>
@@ -567,6 +568,8 @@ public:
qRegisterMetaType<QGeoShape>();
QMetaType::registerEqualsComparator<QGeoShape>();
qRegisterMetaType<QGeoCoordinateObject *>();
+ qRegisterMetaType<QGeoPositionInfo>();
+ QMetaType::registerEqualsComparator<QGeoPositionInfo>();
qRegisterAnimationInterpolator<QGeoCoordinate>(q_coordinateInterpolator);
diff --git a/src/plugins/position/android/src/qgeopositioninfosource_android.cpp b/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
index adb9003d..7b4706d8 100644
--- a/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
+++ b/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
@@ -42,14 +42,12 @@
//#include <QDebug>
#include <QGeoPositionInfo>
-Q_DECLARE_METATYPE(QGeoPositionInfo)
#define UPDATE_FROM_COLD_START 2*60*1000
QGeoPositionInfoSourceAndroid::QGeoPositionInfoSourceAndroid(QObject *parent) :
QGeoPositionInfoSource(parent), updatesRunning(false), m_error(NoError), m_requestTimer(this)
{
- qRegisterMetaType< QGeoPositionInfo >();
androidClassKeyForUpdate = AndroidPositioning::registerPositionInfoSource(this);
androidClassKeyForSingleRequest = AndroidPositioning::registerPositionInfoSource(this);
diff --git a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
index 9b39bfb6..d39d5f1b 100644
--- a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
+++ b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
@@ -45,15 +45,12 @@
#include <QtCore/QLoggingCategory>
-Q_DECLARE_METATYPE(QGeoPositionInfo)
-
Q_LOGGING_CATEGORY(lcPositioningGeoclue, "qt.positioning.geoclue")
QT_BEGIN_NAMESPACE
QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue::positionInfoSource(QObject *parent)
{
- qRegisterMetaType<QGeoPositionInfo>();
return new QGeoPositionInfoSourceGeoclueMaster(parent);
}
diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
index 87e350dd..046d862e 100644
--- a/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
+++ b/src/plugins/position/winrt/qgeopositioninfosource_winrt.cpp
@@ -60,8 +60,6 @@ typedef ITypedEventHandler<Geolocator *, StatusChangedEventArgs *> GeoLocatorSta
typedef IAsyncOperationCompletedHandler<Geoposition*> PositionHandler;
typedef IAsyncOperationCompletedHandler<GeolocationAccessStatus> AccessHandler;
-Q_DECLARE_METATYPE(QGeoPositionInfo)
-
QT_BEGIN_NAMESPACE
#ifndef Q_OS_WINRT
@@ -95,8 +93,6 @@ QGeoPositionInfoSourceWinRT::QGeoPositionInfoSourceWinRT(QObject *parent)
Q_D(QGeoPositionInfoSourceWinRT);
d->positionError = QGeoPositionInfoSource::NoError;
d->updatesOngoing = false;
-
- qRegisterMetaType<QGeoPositionInfo>();
}
QGeoPositionInfoSourceWinRT::~QGeoPositionInfoSourceWinRT()
diff --git a/src/positioning/qgeopositioninfo.h b/src/positioning/qgeopositioninfo.h
index 77d44970..78203b6c 100644
--- a/src/positioning/qgeopositioninfo.h
+++ b/src/positioning/qgeopositioninfo.h
@@ -112,4 +112,6 @@ Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &stream, QGeoPositionIn
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QGeoPositionInfo)
+
#endif
diff --git a/src/positioning/qgeopositioninfosource.cpp b/src/positioning/qgeopositioninfosource.cpp
index e3df4cda..02aa1aa3 100644
--- a/src/positioning/qgeopositioninfosource.cpp
+++ b/src/positioning/qgeopositioninfosource.cpp
@@ -177,6 +177,7 @@ QGeoPositionInfoSource::QGeoPositionInfoSource(QObject *parent)
: QObject(parent),
d(new QGeoPositionInfoSourcePrivate)
{
+ qRegisterMetaType<QGeoPositionInfo>();
d->interval = 0;
d->methods = 0;
}
diff --git a/tests/auto/positionplugintest/tst_positionplugin.cpp b/tests/auto/positionplugintest/tst_positionplugin.cpp
index 6e8847b8..032b11f8 100644
--- a/tests/auto/positionplugintest/tst_positionplugin.cpp
+++ b/tests/auto/positionplugintest/tst_positionplugin.cpp
@@ -37,8 +37,6 @@
QT_USE_NAMESPACE
-Q_DECLARE_METATYPE(QGeoPositionInfo)
-
class tst_PositionPlugin : public QObject
{
Q_OBJECT
@@ -65,7 +63,6 @@ void tst_PositionPlugin::initTestCase()
+ QStringLiteral("/../../../plugins"));
#endif
#endif
- qRegisterMetaType<QGeoPositionInfo>();
}
void tst_PositionPlugin::availableSources()
diff --git a/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp b/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
index 4cd83446..bad3be42 100644
--- a/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
+++ b/tests/auto/qgeoareamonitor/tst_qgeoareamonitor.cpp
@@ -52,7 +52,6 @@
QT_USE_NAMESPACE
#define UPDATE_INTERVAL 200
-Q_DECLARE_METATYPE(QGeoPositionInfo)
Q_DECLARE_METATYPE(QGeoAreaMonitorInfo)
QString tst_qgeoareamonitorinfo_debug;
@@ -89,7 +88,6 @@ private slots:
+ QStringLiteral("/../../../plugins"));
#endif
#endif
- qRegisterMetaType<QGeoPositionInfo>();
qRegisterMetaType<QGeoAreaMonitorInfo>();
}
diff --git a/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp b/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp
index 72904e1d..f236b398 100644
--- a/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp
+++ b/tests/auto/qgeopositioninfo/tst_qgeopositioninfo.cpp
@@ -40,7 +40,6 @@
QT_USE_NAMESPACE
-Q_DECLARE_METATYPE(QGeoPositionInfo)
Q_DECLARE_METATYPE(QGeoPositionInfo::Attribute)
QByteArray tst_qgeopositioninfo_debug;
diff --git a/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp b/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp
index 0fc8f492..fa073308 100644
--- a/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp
+++ b/tests/auto/qgeopositioninfosource/testqgeopositioninfosource.cpp
@@ -45,7 +45,6 @@
Q_DECLARE_METATYPE(QGeoPositionInfoSource::PositioningMethod)
Q_DECLARE_METATYPE(QGeoPositionInfoSource::PositioningMethods)
-Q_DECLARE_METATYPE(QGeoPositionInfo)
#define MAX_WAITING_TIME 50000
@@ -141,7 +140,7 @@ void TestQGeoPositionInfoSource::test_slot2()
void TestQGeoPositionInfoSource::base_initTestCase()
{
- qRegisterMetaType<QGeoPositionInfo>();
+
}
void TestQGeoPositionInfoSource::base_init()
diff --git a/tests/auto/qnmeapositioninfosource/dummynmeapositioninfosource/tst_dummynmeapositioninfosource.cpp b/tests/auto/qnmeapositioninfosource/dummynmeapositioninfosource/tst_dummynmeapositioninfosource.cpp
index 4468f914..e07fb707 100644
--- a/tests/auto/qnmeapositioninfosource/dummynmeapositioninfosource/tst_dummynmeapositioninfosource.cpp
+++ b/tests/auto/qnmeapositioninfosource/dummynmeapositioninfosource/tst_dummynmeapositioninfosource.cpp
@@ -37,7 +37,6 @@
#include <QTest>
Q_DECLARE_METATYPE(QNmeaPositionInfoSource::UpdateMode)
-Q_DECLARE_METATYPE(QGeoPositionInfo)
class DummyNmeaPositionInfoSource : public QNmeaPositionInfoSource
{
@@ -95,7 +94,7 @@ tst_DummyNmeaPositionInfoSource::tst_DummyNmeaPositionInfoSource() {}
void tst_DummyNmeaPositionInfoSource::initTestCase()
{
- qRegisterMetaType<QGeoPositionInfo>();
+
}
void tst_DummyNmeaPositionInfoSource::testOverloadedParseFunction()
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
index c77e465d..9dd837e6 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.cpp
@@ -70,7 +70,6 @@ tst_QNmeaPositionInfoSource::tst_QNmeaPositionInfoSource(QNmeaPositionInfoSource
void tst_QNmeaPositionInfoSource::initTestCase()
{
- qRegisterMetaType<QGeoPositionInfo>();
qRegisterMetaType<QNmeaPositionInfoSource::UpdateMode>();
}
diff --git a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h
index 844dfbad..60a4093c 100644
--- a/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h
+++ b/tests/auto/qnmeapositioninfosource/tst_qnmeapositioninfosource.h
@@ -45,7 +45,6 @@
QT_USE_NAMESPACE
Q_DECLARE_METATYPE(QNmeaPositionInfoSource::UpdateMode)
-Q_DECLARE_METATYPE(QGeoPositionInfo)
Q_DECLARE_METATYPE(QList<QDateTime>)
class tst_QNmeaPositionInfoSource : public QObject