Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qplugin.h File Reference

(bc83d91d4e3575ba688d65e12860c05b3fb1dcbd)

#include <QtCore/qobject.h>
#include <QtCore/qpointer.h>
#include <QtCore/qjsonobject.h>
#include <QtCore/q20algorithm.h>
Include dependency graph for qplugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  QStaticPlugin
 \inmodule QtCore More...

Macros

#define QT_PLUGIN_METADATA_SECTION
#define QT_PLUGIN_METADATAV2_SECTION   QT_PLUGIN_METADATA_SECTION
#define Q_IMPORT_PLUGIN(PLUGIN)
#define QT_PLUGIN_RESOURCE_INIT
#define Q_PLUGIN_INSTANCE(IMPLEMENTATION)
#define QT_MOC_EXPORT_PLUGIN_COMMON(PLUGINCLASS, MANGLEDNAME)
#define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME)
#define QT_MOC_EXPORT_PLUGIN_V2(PLUGINCLASS, MANGLEDNAME, MD)
#define Q_EXPORT_PLUGIN(PLUGIN)
#define Q_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS)
#define Q_EXPORT_STATIC_PLUGIN2(PLUGIN, PLUGINCLASS)

Typedefs

typedef QObject *(* QtPluginInstanceFunction) ()
typedef QPluginMetaData(* QtPluginMetaDataFunction) ()

Functions

QT_BEGIN_NAMESPACE constexpr unsigned char qPluginArchRequirements ()
 Q_DECLARE_TYPEINFO (QStaticPlugin, Q_PRIMITIVE_TYPE)
void Q_CORE_EXPORT qRegisterStaticPluginFunction (QStaticPlugin staticPlugin)

Macro Definition Documentation

◆ Q_EXPORT_PLUGIN

#define Q_EXPORT_PLUGIN ( PLUGIN)
Value:
Q_EXPORT_PLUGIN2(PLUGIN, PLUGIN)
#define Q_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS)
Definition qplugin.h:262

Definition at line 260 of file qplugin.h.

◆ Q_EXPORT_PLUGIN2

#define Q_EXPORT_PLUGIN2 ( PLUGIN,
PLUGINCLASS )
Value:
static_assert(false, "Old plugin system used")

Definition at line 262 of file qplugin.h.

◆ Q_EXPORT_STATIC_PLUGIN2

#define Q_EXPORT_STATIC_PLUGIN2 ( PLUGIN,
PLUGINCLASS )
Value:
static_assert(false, "Old plugin system used")

Definition at line 265 of file qplugin.h.

◆ Q_IMPORT_PLUGIN

#define Q_IMPORT_PLUGIN ( PLUGIN)
Value:
extern const QT_PREPEND_NAMESPACE(QStaticPlugin) QT_MANGLE_NAMESPACE(qt_static_plugin_##PLUGIN)(); \
namespace { \
struct Static##PLUGIN##PluginInstance { \
Static##PLUGIN##PluginInstance() { \
qRegisterStaticPluginFunction(QT_MANGLE_NAMESPACE(qt_static_plugin_##PLUGIN)()); \
} \
}; \
} /* namespace */ \
/* QTBUG-139615: static, to work around bug in clazy-non-pod-global-static */ \
static Static##PLUGIN##PluginInstance static##PLUGIN##Instance; \
#define QT_MANGLE_NAMESPACE(name)
\inmodule QtCore
Definition qplugin.h:111

Definition at line 195 of file qplugin.h.

◆ Q_PLUGIN_INSTANCE

#define Q_PLUGIN_INSTANCE ( IMPLEMENTATION)
Value:
{ \
static QT_PREPEND_NAMESPACE(QPointer)<QT_PREPEND_NAMESPACE(QObject)> _instance; \
if (!_instance) { \
QT_PLUGIN_RESOURCE_INIT \
_instance = new IMPLEMENTATION; \
} \
return _instance; \
}
\inmodule QtCore
Definition qobject.h:106

Definition at line 215 of file qplugin.h.

◆ QT_MOC_EXPORT_PLUGIN

#define QT_MOC_EXPORT_PLUGIN ( PLUGINCLASS,
PLUGINCLASSNAME )
Value:
extern "C" Q_DECL_EXPORT \
QPluginMetaData qt_plugin_query_metadata() \
{ return { qt_pluginMetaData_##PLUGINCLASSNAME, sizeof qt_pluginMetaData_##PLUGINCLASSNAME }; } \
QT_MOC_EXPORT_PLUGIN_COMMON(PLUGINCLASS, PLUGINCLASSNAME)

Definition at line 248 of file qplugin.h.

◆ QT_MOC_EXPORT_PLUGIN_COMMON

#define QT_MOC_EXPORT_PLUGIN_COMMON ( PLUGINCLASS,
MANGLEDNAME )
Value:
extern "C" Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance() \
Q_PLUGIN_INSTANCE(PLUGINCLASS) \
#define Q_DECL_EXPORT

Definition at line 243 of file qplugin.h.

◆ QT_MOC_EXPORT_PLUGIN_V2

#define QT_MOC_EXPORT_PLUGIN_V2 ( PLUGINCLASS,
MANGLEDNAME,
MD )
Value:
extern "C" Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QPluginMetaData) qt_plugin_query_metadata_v2()\
{ static constexpr QT_PLUGIN_METADATAV2_SECTION QPluginMetaDataV2<MD> md{}; return md; } \
QT_MOC_EXPORT_PLUGIN_COMMON(PLUGINCLASS, MANGLEDNAME)
#define QT_PLUGIN_METADATAV2_SECTION
Definition qplugin.h:180

Definition at line 254 of file qplugin.h.

◆ QT_PLUGIN_METADATA_SECTION

#define QT_PLUGIN_METADATA_SECTION

Definition at line 140 of file qplugin.h.

◆ QT_PLUGIN_METADATAV2_SECTION

#define QT_PLUGIN_METADATAV2_SECTION   QT_PLUGIN_METADATA_SECTION

Definition at line 180 of file qplugin.h.

◆ QT_PLUGIN_RESOURCE_INIT

#define QT_PLUGIN_RESOURCE_INIT

Definition at line 212 of file qplugin.h.

Typedef Documentation

◆ QtPluginInstanceFunction

typedef QObject *(* QtPluginInstanceFunction) ()

Definition at line 37 of file qplugin.h.

◆ QtPluginMetaDataFunction

typedef QPluginMetaData(* QtPluginMetaDataFunction) ()

Definition at line 107 of file qplugin.h.

Function Documentation

◆ Q_DECLARE_TYPEINFO()

Q_DECLARE_TYPEINFO ( QStaticPlugin ,
Q_PRIMITIVE_TYPE  )

◆ qPluginArchRequirements()

QT_BEGIN_NAMESPACE constexpr unsigned char qPluginArchRequirements ( )
inlineconstexpr

Definition at line 22 of file qplugin.h.

◆ qRegisterStaticPluginFunction()

void Q_CORE_EXPORT qRegisterStaticPluginFunction ( QStaticPlugin staticPlugin)
related