Move qJsonFromRawLibraryMetaData into qfactoryloader_p.h
This is still not a great place for it, but this way we can Q_REQUIRE_CONFIG(library) in qlibrary_p.h and qfactoryloader_p.h is the only private header that doesn't require library support in plugin.pri. Change-Id: Ia6c1ac8799822eca1e0cbeca98d1c1b8de74beae Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>bb10
parent
4c367833b4
commit
4e9f7807fb
|
|
@ -57,11 +57,22 @@
|
|||
#include "QtCore/qobject.h"
|
||||
#include "QtCore/qstringlist.h"
|
||||
#include "QtCore/qjsonobject.h"
|
||||
#include "QtCore/qjsondocument.h"
|
||||
#include "QtCore/qmap.h"
|
||||
#include "QtCore/qendian.h"
|
||||
#include "private/qlibrary_p.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
inline QJsonDocument qJsonFromRawLibraryMetaData(const char *raw)
|
||||
{
|
||||
raw += strlen("QTMETADATA ");
|
||||
// the size of the embedded JSON object can be found 8 bytes into the data (see qjson_p.h),
|
||||
// but doesn't include the size of the header (8 bytes)
|
||||
QByteArray json(raw, qFromLittleEndian<uint>(*(const uint *)(raw + 8)) + 8);
|
||||
return QJsonDocument::fromBinaryData(json);
|
||||
}
|
||||
|
||||
class QFactoryLoaderPrivate;
|
||||
class Q_CORE_EXPORT QFactoryLoader : public QObject
|
||||
{
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
|
||||
#ifndef QT_NO_LIBRARY
|
||||
|
||||
#include "qfactoryloader_p.h"
|
||||
#include "qlibrary_p.h"
|
||||
#include <qstringlist.h>
|
||||
#include <qfile.h>
|
||||
|
|
|
|||
|
|
@ -58,25 +58,12 @@
|
|||
#include "QtCore/qstringlist.h"
|
||||
#include "QtCore/qplugin.h"
|
||||
#include "QtCore/qsharedpointer.h"
|
||||
#include "QtCore/qjsonobject.h"
|
||||
#include "QtCore/qjsondocument.h"
|
||||
#include "QtCore/qendian.h"
|
||||
#ifdef Q_OS_WIN
|
||||
# include "QtCore/qt_windows.h"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
// Needed also in case of QT_NO_LIBRARY, for static plugin loading.
|
||||
inline QJsonDocument qJsonFromRawLibraryMetaData(const char *raw)
|
||||
{
|
||||
raw += strlen("QTMETADATA ");
|
||||
// the size of the embedded JSON object can be found 8 bytes into the data (see qjson_p.h),
|
||||
// but doesn't include the size of the header (8 bytes)
|
||||
QByteArray json(raw, qFromLittleEndian<uint>(*(const uint *)(raw + 8)) + 8);
|
||||
return QJsonDocument::fromBinaryData(json);
|
||||
}
|
||||
|
||||
#ifndef QT_NO_LIBRARY
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
#include "qcoreapplication.h"
|
||||
#include "qpluginloader.h"
|
||||
#include <qfileinfo.h>
|
||||
#include "qlibrary_p.h"
|
||||
#include "qfactoryloader_p.h"
|
||||
#include "qdebug.h"
|
||||
#include "qdir.h"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue