Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qplugin.h File Reference

(db5279825cd0f2e87e59a540844059bc5d30ce94)

#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

struct  QPluginMetaData
 
struct  QPluginMetaData::Header
 
struct  QPluginMetaData::MagicHeader
 
struct  QPluginMetaData::ElfNoteHeader
 
class  QStaticPlugin
 \inmodule QtCore More...
 
class  QPluginMetaDataV2< PluginMetaData >
 

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)    Q_EXPORT_PLUGIN2(PLUGIN, PLUGIN)
 
#define Q_EXPORT_PLUGIN2(PLUGIN, PLUGINCLASS)    static_assert(false, "Old plugin system used")
 
#define Q_EXPORT_STATIC_PLUGIN2(PLUGIN, PLUGINCLASS)    static_assert(false, "Old plugin system used")
 

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)     Q_EXPORT_PLUGIN2(PLUGIN, PLUGIN)

Definition at line 257 of file qplugin.h.

◆ Q_EXPORT_PLUGIN2

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

Definition at line 259 of file qplugin.h.

◆ Q_EXPORT_STATIC_PLUGIN2

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

Definition at line 262 of file qplugin.h.

◆ Q_IMPORT_PLUGIN

#define Q_IMPORT_PLUGIN ( PLUGIN)
Value:
extern const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGIN(); \
class Static##PLUGIN##PluginInstance{ \
public: \
Static##PLUGIN##PluginInstance() { \
qRegisterStaticPluginFunction(qt_static_plugin_##PLUGIN()); \
} \
}; \
static Static##PLUGIN##PluginInstance static##PLUGIN##Instance;
\inmodule QtCore
Definition qplugin.h:110

Definition at line 194 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:103

Definition at line 212 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 245 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 240 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:179

Definition at line 251 of file qplugin.h.

◆ QT_PLUGIN_METADATA_SECTION

#define QT_PLUGIN_METADATA_SECTION

Definition at line 139 of file qplugin.h.

◆ QT_PLUGIN_METADATAV2_SECTION

#define QT_PLUGIN_METADATAV2_SECTION   QT_PLUGIN_METADATA_SECTION

Definition at line 179 of file qplugin.h.

◆ QT_PLUGIN_RESOURCE_INIT

#define QT_PLUGIN_RESOURCE_INIT

Definition at line 209 of file qplugin.h.

Typedef Documentation

◆ QtPluginInstanceFunction

typedef QObject *(* QtPluginInstanceFunction) ()

Definition at line 36 of file qplugin.h.

◆ QtPluginMetaDataFunction

typedef QPluginMetaData(* QtPluginMetaDataFunction) ()

Definition at line 106 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 21 of file qplugin.h.

◆ qRegisterStaticPluginFunction()

void Q_CORE_EXPORT qRegisterStaticPluginFunction ( QStaticPlugin staticPlugin)
related