diff options
Diffstat (limited to 'src/corelib/plugin/qplugin.h')
-rw-r--r-- | src/corelib/plugin/qplugin.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/corelib/plugin/qplugin.h b/src/corelib/plugin/qplugin.h index b91a0e9900..1ec9325e5e 100644 --- a/src/corelib/plugin/qplugin.h +++ b/src/corelib/plugin/qplugin.h @@ -44,6 +44,7 @@ #include <QtCore/qobject.h> #include <QtCore/qpointer.h> +#include <QtCore/qjsonobject.h> QT_BEGIN_NAMESPACE @@ -59,11 +60,22 @@ QT_BEGIN_NAMESPACE typedef QObject *(*QtPluginInstanceFunction)(); typedef const char *(*QtPluginMetaDataFunction)(); -struct QStaticPlugin +struct Q_CORE_EXPORT QStaticPlugin { + // Note: This struct is initialized using an initializer list. + // As such, it cannot have any new constructors or variables. +#ifndef Q_QDOC QtPluginInstanceFunction instance; - QtPluginMetaDataFunction metaData; + QtPluginMetaDataFunction rawMetaData; +#else + // Since qdoc gets confused by the use of function + // pointers, we add these dummes for it to parse instead: + QObject *instance(); + const char *rawMetaData(); +#endif + QJsonObject metaData() const; }; +Q_DECLARE_TYPEINFO(QStaticPlugin, Q_PRIMITIVE_TYPE); void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin); |