diff options
| author | Thiago Macieira <thiago.macieira@intel.com> | 2021-09-11 16:50:33 -0500 |
|---|---|---|
| committer | Thiago Macieira <thiago.macieira@intel.com> | 2021-10-20 22:04:01 -0700 |
| commit | 2bea9b74ba4894c372b0587c0c5433b713b53e3a (patch) | |
| tree | e6bce8054d42eb5b2b360c42fb31c0cf34d04025 /src/corelib/plugin/qpluginloader.cpp | |
| parent | 3c493b89df4dcabb304b821da229129e08797201 (diff) | |
QPlugin: keep the CBOR data as CBOR
Since QJsonValue and QCborValue use the same backend, we may as well use
the CBOR frontend classes, which means we avoid an unnecessary
conversion until later.
Change-Id: I2de1b4dfacd443148279fffd16a3e2f56cd74c0b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/corelib/plugin/qpluginloader.cpp')
| -rw-r--r-- | src/corelib/plugin/qpluginloader.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp index 9afdf0e5374..eca85eb82ee 100644 --- a/src/corelib/plugin/qpluginloader.cpp +++ b/src/corelib/plugin/qpluginloader.cpp @@ -47,6 +47,10 @@ #include "qfileinfo.h" #include "qjsondocument.h" +#if QT_CONFIG(library) +# include "qlibrary_p.h" +#endif + QT_BEGIN_NAMESPACE #if QT_CONFIG(library) @@ -185,7 +189,7 @@ QJsonObject QPluginLoader::metaData() const { if (!d) return QJsonObject(); - return d->metaData; + return d->metaData.toJson(); } /*! @@ -477,13 +481,10 @@ QList<QStaticPlugin> QPluginLoader::staticPlugins() */ QJsonObject QStaticPlugin::metaData() const { - auto ptr = static_cast<const char *>(rawMetaData); - - QString errMsg; - QJsonDocument doc = qJsonFromRawLibraryMetaData(ptr, rawMetaDataSize, &errMsg); - Q_ASSERT(doc.isObject()); - Q_ASSERT(errMsg.isEmpty()); - return doc.object(); + QByteArrayView data(static_cast<const char *>(rawMetaData), rawMetaDataSize); + QPluginParsedMetaData parsed(data); + Q_ASSERT(!parsed.isError()); + return parsed.toJson(); } QT_END_NAMESPACE |
