7#include <QtCore/qobject.h>
8#include <QtCore/qtaggedpointer.h>
19 Q_PROPERTY(QString fileName READ fileName WRITE setFileName)
20 Q_PROPERTY(LoadHints loadHints READ loadHints WRITE setLoadHints)
23 ResolveAllSymbolsHint = 0x01,
24 ExportExternalSymbolsHint = 0x02,
25 LoadArchiveMemberHint = 0x04,
26 PreventUnloadHint = 0x08,
29 Q_DECLARE_FLAGS(LoadHints, LoadHint)
33 explicit QLibrary(QObject *parent =
nullptr);
34 explicit QLibrary(
const QString &fileName, QObject *parent =
nullptr);
35 explicit QLibrary(
const QString &fileName,
int verNum, QObject *parent =
nullptr);
36 explicit QLibrary(
const QString &fileName,
const QString &version, QObject *parent =
nullptr);
39 QFunctionPointer resolve(
const char *symbol);
40 static QFunctionPointer resolve(
const QString &fileName,
const char *symbol);
41 static QFunctionPointer resolve(
const QString &fileName,
int verNum,
const char *symbol);
42 static QFunctionPointer resolve(
const QString &fileName,
const QString &version,
const char *symbol);
46 bool isLoaded()
const;
48 static bool isLibrary(
const QString &fileName);
50 void setFileName(
const QString &fileName);
51 QString fileName()
const;
53 void setFileNameAndVersion(
const QString &fileName,
int verNum);
54 void setFileNameAndVersion(
const QString &fileName,
const QString &version);
55 QString errorString()
const;
57 void setLoadHints(LoadHints hints);
58 LoadHints loadHints()
const;
66 QTaggedPointer<QLibraryPrivate, LoadStatusTag> d =
nullptr;
67 Q_DISABLE_COPY(QLibrary)
70Q_DECLARE_OPERATORS_FOR_FLAGS(QLibrary::LoadHints)
bool unload(UnloadFlag flag=UnloadSys)
QtPluginInstanceFunction loadPlugin()
void setLoadHints(QLibrary::LoadHints lh)
QFunctionPointer resolve(const char *)
QObject * pluginInstance()
static void releaseLibrary(QLibraryPrivate *lib)
static QLibraryPrivate * findOrCreate(const QString &fileName, const QString &version, QLibrary::LoadHints loadHints)
\inmodule QtCore \reentrant
Q_TRACE_POINT(qtcore, QLibraryPrivate_load_exit, bool success)
static void installCoverageTool(QLibraryPrivate *libPrivate)
static constexpr bool PluginMustMatchQtDebug
bool qt_debug_component()
Q_TRACE_POINT(qtcore, QLibraryPrivate_load_entry, const QString &fileName)
static bool qt_get_metadata(QLibraryPrivate *priv, QString *errMsg)
static Q_CONSTINIT bool qt_library_data_once
static QLibraryScanResult findPatternUnloaded(const QString &library, QLibraryPrivate *lib)
static constexpr bool QtBuildIsDebug
static void qlibraryCleanup()
QT_REQUIRE_CONFIG(library)