diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2021-01-29 17:16:26 +0100 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2021-02-03 12:20:34 +0100 |
commit | ab5d9e98125645797a222de3da8045a1d80744a9 (patch) | |
tree | 7ccc41ec144e89d819d064f63e8664ee19bfe0c3 | |
parent | 84330ea286c0b6abeefccb42499b0838fc5ec40c (diff) | |
download | qtlocation-ab5d9e98125645797a222de3da8045a1d80744a9.tar.gz |
QtPositioning: optimize QGeoPositionInfoSourcePrivate
Now when the static loadFactory() method exists, there is no more need
for storing factory and metaData as class members.
Some unused functions are also removed.
Task-number: QTBUG-90491
Change-Id: I1e39423a4c5692f840909b80afc8b48de3a6c3f4
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r-- | src/positioning/qgeopositioninfosource.cpp | 16 | ||||
-rw-r--r-- | src/positioning/qgeopositioninfosource_p.h | 6 |
2 files changed, 3 insertions, 19 deletions
diff --git a/src/positioning/qgeopositioninfosource.cpp b/src/positioning/qgeopositioninfosource.cpp index 3f38cca9..6c1f6e69 100644 --- a/src/positioning/qgeopositioninfosource.cpp +++ b/src/positioning/qgeopositioninfosource.cpp @@ -120,18 +120,6 @@ QGeoPositionInfoSourceFactory *QGeoPositionInfoSourcePrivate::loadFactory(const return qobject_cast<QGeoPositionInfoSourceFactory *>(instance); } -void QGeoPositionInfoSourcePrivate::loadMeta() -{ - metaData = plugins().value(providerName); -} - -void QGeoPositionInfoSourcePrivate::loadPlugin() -{ - auto f = loadFactory(metaData); - if (f) - factory = f; -} - bool QGeoPositionInfoSourcePrivate::setBackendProperty(const QString &/*name*/, const QVariant & /*value*/) { return false; @@ -226,7 +214,7 @@ QGeoPositionInfoSource::~QGeoPositionInfoSource() QString QGeoPositionInfoSource::sourceName() const { Q_D(const QGeoPositionInfoSource); - return d->metaData.value(QStringLiteral("Provider")).toString(); + return d->sourceName; } /*! @@ -340,7 +328,7 @@ QGeoPositionInfoSource *QGeoPositionInfoSourcePrivate::createSourceReal(const QJ if (factory) s = factory->positionInfoSource(parent, parameters); if (s) - s->d_func()->metaData = meta; + s->d_func()->sourceName = meta.value(QStringLiteral("Provider")).toString(); return s; } diff --git a/src/positioning/qgeopositioninfosource_p.h b/src/positioning/qgeopositioninfosource_p.h index f4db6afd..45d7de79 100644 --- a/src/positioning/qgeopositioninfosource_p.h +++ b/src/positioning/qgeopositioninfosource_p.h @@ -74,12 +74,8 @@ public: int interval; QGeoPositionInfoSource::PositioningMethods methods; - QJsonObject metaData; - QGeoPositionInfoSourceFactory *factory = nullptr; - QString providerName; + QString sourceName; - void loadMeta(); - void loadPlugin(); virtual bool setBackendProperty(const QString &name, const QVariant &value); virtual QVariant backendProperty(const QString &name) const; |