summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/location/maps/qgeoserviceprovider.cpp25
-rw-r--r--src/location/maps/qgeoserviceprovider_p.h9
2 files changed, 17 insertions, 17 deletions
diff --git a/src/location/maps/qgeoserviceprovider.cpp b/src/location/maps/qgeoserviceprovider.cpp
index 4873da22..292e981a 100644
--- a/src/location/maps/qgeoserviceprovider.cpp
+++ b/src/location/maps/qgeoserviceprovider.cpp
@@ -53,6 +53,7 @@
#include <QList>
#include <QString>
#include <QVariant>
+#include <QCborArray>
#include <QDebug>
#include <QStringList>
@@ -282,8 +283,8 @@ Flags QGeoServiceProviderPrivate::features(const char *enumName)
Flags ret = typename Flags::enum_type(0);
if (this->metaData.contains(QStringLiteral("Features"))
&& this->metaData.value(QStringLiteral("Features")).isArray()) {
- QJsonArray features = this->metaData.value(QStringLiteral("Features")).toArray();
- foreach (const QJsonValue &v, features) {
+ QCborArray features = this->metaData.value(QStringLiteral("Features")).toArray();
+ for (const QCborValue &v : features) {
int val = en.keyToValue(v.toString().toLatin1().constData());
if (v.isString() && val != -1) {
ret |= typename Flags::enum_type(val);
@@ -799,7 +800,7 @@ void QGeoServiceProviderPrivate::unload()
factory = factoryV2 = factoryV3 = nullptr;
error = QGeoServiceProvider::NoError;
errorString = QLatin1String("");
- metaData = QJsonObject();
+ metaData = QCborMap();
metaData.insert(QStringLiteral("index"), -1);
}
@@ -827,12 +828,12 @@ void QGeoServiceProviderPrivate::filterParameterMap()
void QGeoServiceProviderPrivate::loadMeta()
{
factory = factoryV2 = factoryV3 = nullptr;
- metaData = QJsonObject();
+ metaData = QCborMap();
metaData.insert(QStringLiteral("index"), -1);
error = QGeoServiceProvider::NotSupportedError;
errorString = QString(QLatin1String("The geoservices provider %1 is not supported.")).arg(providerName);
- QList<QJsonObject> candidates = QGeoServiceProviderPrivate::plugins().values(providerName);
+ QList<QCborMap> candidates = QGeoServiceProviderPrivate::plugins().values(providerName);
int versionFound = -1;
int idx = -1;
@@ -840,9 +841,9 @@ void QGeoServiceProviderPrivate::loadMeta()
// figure out which version of the plugin we want
// (always latest unless experimental)
for (int i = 0; i < candidates.size(); ++i) {
- QJsonObject meta = candidates[i];
+ QCborMap meta = candidates[i];
if (meta.contains(QStringLiteral("Version"))
- && meta.value(QStringLiteral("Version")).isDouble()
+ && meta.value(QStringLiteral("Version")).isInteger()
&& meta.contains(QStringLiteral("Experimental"))
&& meta.value(QStringLiteral("Experimental")).isBool()) {
int ver = int(meta.value(QStringLiteral("Version")).toDouble());
@@ -896,9 +897,9 @@ void QGeoServiceProviderPrivate::loadPlugin(const QVariantMap &parameters)
}
}
-QMultiHash<QString, QJsonObject> QGeoServiceProviderPrivate::plugins(bool reload)
+QMultiHash<QString, QCborMap> QGeoServiceProviderPrivate::plugins(bool reload)
{
- static QMultiHash<QString, QJsonObject> plugins;
+ static QMultiHash<QString, QCborMap> plugins;
static bool alreadyDiscovered = false;
if (reload == true)
@@ -911,12 +912,12 @@ QMultiHash<QString, QJsonObject> QGeoServiceProviderPrivate::plugins(bool reload
return plugins;
}
-void QGeoServiceProviderPrivate::loadPluginMetadata(QMultiHash<QString, QJsonObject> &list)
+void QGeoServiceProviderPrivate::loadPluginMetadata(QMultiHash<QString, QCborMap> &list)
{
QFactoryLoader *l = loader();
- QList<QJsonObject> meta = l->metaData();
+ QList<QPluginParsedMetaData> meta = l->metaData();
for (int i = 0; i < meta.size(); ++i) {
- QJsonObject obj = meta.at(i).value(QStringLiteral("MetaData")).toObject();
+ QCborMap obj = meta.at(i).value(QtPluginMetaDataKeys::MetaData).toMap();
obj.insert(QStringLiteral("index"), i);
list.insert(obj.value(QStringLiteral("Provider")).toString(), obj);
}
diff --git a/src/location/maps/qgeoserviceprovider_p.h b/src/location/maps/qgeoserviceprovider_p.h
index 22dcedd6..de44054a 100644
--- a/src/location/maps/qgeoserviceprovider_p.h
+++ b/src/location/maps/qgeoserviceprovider_p.h
@@ -51,8 +51,7 @@
#include "qgeoserviceprovider.h"
#include <QHash>
-#include <QJsonObject>
-#include <QJsonArray>
+#include <QCborMap>
#include <QLocale>
QT_BEGIN_NAMESPACE
@@ -87,7 +86,7 @@ public:
QGeoServiceProviderFactory *factory;
QGeoServiceProviderFactoryV2 *factoryV2 = nullptr;
QGeoServiceProviderFactoryV3 *factoryV3 = nullptr;
- QJsonObject metaData;
+ QCborMap metaData;
QVariantMap parameterMap;
QVariantMap cleanedParameterMap;
@@ -121,8 +120,8 @@ public:
QLocale locale;
bool localeSet;
- static QMultiHash<QString, QJsonObject> plugins(bool reload = false);
- static void loadPluginMetadata(QMultiHash<QString, QJsonObject> &list);
+ static QMultiHash<QString, QCborMap> plugins(bool reload = false);
+ static void loadPluginMetadata(QMultiHash<QString, QCborMap> &list);
};
QT_END_NAMESPACE