From ab5d9e98125645797a222de3da8045a1d80744a9 Mon Sep 17 00:00:00 2001 From: Ivan Solovev Date: Fri, 29 Jan 2021 17:16:26 +0100 Subject: 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 --- src/positioning/qgeopositioninfosource.cpp | 16 ++-------------- 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(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; -- cgit v1.2.1