Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qplugin.h File Reference
#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;
QT_END_NAMESPACE typedef QT_PREPEND_NAMESPACE(quintptr) WId
\inmodule QtCore
Definition qplugin.h:110

Definition at line 194 of file qplugin.h.

◆ Q_PLUGIN_INSTANCE

#define Q_PLUGIN_INSTANCE (   IMPLEMENTATION)
Value:
{ \
if (!_instance) { \
QT_PLUGIN_RESOURCE_INIT \
_instance = new IMPLEMENTATION; \
} \
return _instance; \
}
\inmodule QtCore
Definition qobject.h:90
\inmodule QtCore
Definition qpointer.h:18

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