Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qlibrary.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QLIBRARY_H
6
#
define
QLIBRARY_H
7
8
#
include
<
QtCore
/
qobject
.
h
>
9
#
include
<
QtCore
/
qtaggedpointer
.
h
>
10
11
QT_REQUIRE_CONFIG
(
library
);
12
13
QT_BEGIN_NAMESPACE
14
15
class
QLibraryPrivate;
16
17
class
Q_CORE_EXPORT
QLibrary
:
public
QObject
18
{
19
Q_OBJECT
20
Q_PROPERTY(QString fileName READ fileName WRITE setFileName)
21
Q_PROPERTY(LoadHints loadHints READ loadHints WRITE setLoadHints)
22
public
:
23
enum
LoadHint {
24
ResolveAllSymbolsHint = 0x01,
25
ExportExternalSymbolsHint = 0x02,
26
LoadArchiveMemberHint = 0x04,
27
PreventUnloadHint = 0x08,
28
DeepBindHint = 0x10
29
};
30
Q_DECLARE_FLAGS(LoadHints, LoadHint)
31
Q_ENUM(LoadHint)
32
Q_FLAG(LoadHints)
33
34
explicit
QLibrary(QObject *parent =
nullptr
);
35
explicit
QLibrary(
const
QString &fileName, QObject *parent =
nullptr
);
36
explicit
QLibrary(
const
QString &fileName,
int
verNum, QObject *parent =
nullptr
);
37
explicit
QLibrary(
const
QString &fileName,
const
QString &version, QObject *parent =
nullptr
);
38
~QLibrary();
39
40
QFunctionPointer resolve(
const
char
*symbol);
41
static
QFunctionPointer resolve(
const
QString &fileName,
const
char
*symbol);
42
static
QFunctionPointer resolve(
const
QString &fileName,
int
verNum,
const
char
*symbol);
43
static
QFunctionPointer resolve(
const
QString &fileName,
const
QString &version,
const
char
*symbol);
44
45
bool
load();
46
bool
unload();
47
bool
isLoaded()
const
;
48
49
static
bool
isLibrary(
const
QString &fileName);
50
51
void
setFileName(
const
QString &fileName);
52
QString fileName()
const
;
53
54
void
setFileNameAndVersion(
const
QString &fileName,
int
verNum);
55
void
setFileNameAndVersion(
const
QString &fileName,
const
QString &version);
56
QString errorString()
const
;
57
58
void
setLoadHints(LoadHints hints);
59
LoadHints loadHints()
const
;
60
61
private
:
62
enum
LoadStatusTag {
63
NotLoaded,
64
Loaded
65
};
66
67
friend
class
QLibraryPrivate;
68
QTaggedPointer<QLibraryPrivate, LoadStatusTag> d =
nullptr
;
69
Q_DISABLE_COPY(QLibrary)
70
};
71
72
Q_DECLARE_OPERATORS_FOR_FLAGS(QLibrary::LoadHints)
73
74
QT_END_NAMESPACE
75
76
#
endif
//QLIBRARY_H
QFile
Definition
qfile.h:71
QLibraryPrivate
Definition
qlibrary_p.h:51
QLibraryPrivate::unload
Q_AUTOTEST_EXPORT bool unload(UnloadFlag flag=UnloadSys)
Definition
qlibrary.cpp:556
QLibraryPrivate::loadPlugin
QtPluginInstanceFunction loadPlugin()
Definition
qlibrary.cpp:583
QLibraryPrivate::setLoadHints
void setLoadHints(QLibrary::LoadHints lh)
Definition
qlibrary.cpp:487
QLibraryPrivate::updatePluginState
void updatePluginState()
Definition
qlibrary.cpp:724
QLibraryPrivate::release
void release()
Definition
qlibrary.cpp:578
QLibraryPrivate::resolve
QFunctionPointer resolve(const char *)
Definition
qlibrary.cpp:480
QLibraryPrivate::isPlugin
bool isPlugin()
Definition
qlibrary.cpp:716
QLibraryPrivate::UnloadFlag
UnloadFlag
Definition
qlibrary_p.h:58
QLibraryPrivate::NoUnloadSys
@ NoUnloadSys
Definition
qlibrary_p.h:58
QLibraryPrivate::pluginInstance
QObject * pluginInstance()
Definition
qlibrary.cpp:501
QLibraryPrivate::load
bool load()
Definition
qlibrary.cpp:528
QLibraryStore
Definition
qlibrary.cpp:315
QLibraryStore::cleanup
static void cleanup()
Definition
qlibrary.cpp:340
QLibraryStore::~QLibraryStore
~QLibraryStore()
Definition
qlibrary.cpp:335
QLibraryStore::releaseLibrary
static void releaseLibrary(QLibraryPrivate *lib)
Definition
qlibrary.cpp:429
QLibraryStore::findOrCreate
static QLibraryPrivate * findOrCreate(const QString &fileName, const QString &version, QLibrary::LoadHints loadHints)
Definition
qlibrary.cpp:395
QLibrary
\inmodule QtCore \reentrant
Definition
qlibrary.h:18
QMutexLocker
\inmodule QtCore
Definition
qmutex.h:347
QOperatingSystemVersionBase::Windows
@ Windows
Definition
qoperatingsystemversion.h:29
QOperatingSystemVersion
\inmodule QtCore
Definition
qoperatingsystemversion.h:143
q20
Definition
qnumeric.cpp:467
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
Q_TRACE_POINT
Q_TRACE_POINT(qtcore, QLibraryPrivate_load_exit, bool success)
installCoverageTool
static void installCoverageTool(QLibraryPrivate *libPrivate)
Definition
qlibrary.cpp:282
PluginMustMatchQtDebug
static constexpr bool PluginMustMatchQtDebug
Definition
qlibrary.cpp:46
qt_debug_component
bool qt_debug_component()
Definition
qlibrary.cpp:1164
Q_TRACE_POINT
Q_TRACE_POINT(qtcore, QLibraryPrivate_load_entry, const QString &fileName)
qt_get_metadata
static bool qt_get_metadata(QLibraryPrivate *priv, QString *errMsg)
Definition
qlibrary.cpp:680
qt_library_data_once
static Q_CONSTINIT bool qt_library_data_once
Definition
qlibrary.cpp:333
findPatternUnloaded
static QLibraryScanResult findPatternUnloaded(const QString &library, QLibraryPrivate *lib)
Definition
qlibrary.cpp:216
QtBuildIsDebug
static constexpr bool QtBuildIsDebug
Definition
qlibrary.cpp:56
qlibraryCleanup
static void qlibraryCleanup()
Definition
qlibrary.cpp:378
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(library)
QLibraryScanResult
Definition
qlibrary_p.h:41
qtbase
src
corelib
plugin
qlibrary.h
Generated on
for Qt by
1.18.0