Suffix qt_pluginMetaData with class name
Allows defining multiple static plugins in the same translation unit. Change-Id: I175fd4980b21a461a18c23ed1a62a3cea73e67a0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
d6502614d0
commit
d4e78fce16
@ -166,7 +166,7 @@ void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin);
|
|||||||
static QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance_##PLUGINCLASSNAME() \
|
static QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance_##PLUGINCLASSNAME() \
|
||||||
Q_PLUGIN_INSTANCE(PLUGINCLASS) \
|
Q_PLUGIN_INSTANCE(PLUGINCLASS) \
|
||||||
static QPluginMetaData qt_plugin_query_metadata_##PLUGINCLASSNAME() \
|
static QPluginMetaData qt_plugin_query_metadata_##PLUGINCLASSNAME() \
|
||||||
{ return { qt_pluginMetaData, sizeof qt_pluginMetaData }; } \
|
{ return { qt_pluginMetaData_##PLUGINCLASSNAME, sizeof qt_pluginMetaData_##PLUGINCLASSNAME }; } \
|
||||||
const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGINCLASSNAME() { \
|
const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGINCLASSNAME() { \
|
||||||
return { qt_plugin_instance_##PLUGINCLASSNAME, qt_plugin_query_metadata_##PLUGINCLASSNAME}; \
|
return { qt_plugin_instance_##PLUGINCLASSNAME, qt_plugin_query_metadata_##PLUGINCLASSNAME}; \
|
||||||
}
|
}
|
||||||
@ -174,7 +174,7 @@ void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin);
|
|||||||
# define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME) \
|
# define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME) \
|
||||||
static QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance_##PLUGINCLASSNAME() \
|
static QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance_##PLUGINCLASSNAME() \
|
||||||
Q_PLUGIN_INSTANCE(PLUGINCLASS) \
|
Q_PLUGIN_INSTANCE(PLUGINCLASS) \
|
||||||
static const char *qt_plugin_query_metadata_##PLUGINCLASSNAME() { return reinterpret_cast<const char *>(qt_pluginMetaData); } \
|
static const char *qt_plugin_query_metadata_##PLUGINCLASSNAME() { return reinterpret_cast<const char *>(qt_pluginMetaData_##PLUGINCLASSNAME); } \
|
||||||
const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGINCLASSNAME() { \
|
const QT_PREPEND_NAMESPACE(QStaticPlugin) qt_static_plugin_##PLUGINCLASSNAME() { \
|
||||||
QT_PREPEND_NAMESPACE(QStaticPlugin) plugin = { qt_plugin_instance_##PLUGINCLASSNAME, qt_plugin_query_metadata_##PLUGINCLASSNAME}; \
|
QT_PREPEND_NAMESPACE(QStaticPlugin) plugin = { qt_plugin_instance_##PLUGINCLASSNAME, qt_plugin_query_metadata_##PLUGINCLASSNAME}; \
|
||||||
return plugin; \
|
return plugin; \
|
||||||
@ -187,7 +187,7 @@ void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin);
|
|||||||
# define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME) \
|
# define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME) \
|
||||||
Q_EXTERN_C Q_DECL_EXPORT \
|
Q_EXTERN_C Q_DECL_EXPORT \
|
||||||
QPluginMetaData qt_plugin_query_metadata() \
|
QPluginMetaData qt_plugin_query_metadata() \
|
||||||
{ return { qt_pluginMetaData, sizeof qt_pluginMetaData }; } \
|
{ return { qt_pluginMetaData_##PLUGINCLASSNAME, sizeof qt_pluginMetaData_##PLUGINCLASSNAME }; } \
|
||||||
Q_EXTERN_C Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance() \
|
Q_EXTERN_C Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance() \
|
||||||
Q_PLUGIN_INSTANCE(PLUGINCLASS)
|
Q_PLUGIN_INSTANCE(PLUGINCLASS)
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin staticPlugin);
|
|||||||
# define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME) \
|
# define QT_MOC_EXPORT_PLUGIN(PLUGINCLASS, PLUGINCLASSNAME) \
|
||||||
Q_EXTERN_C Q_DECL_EXPORT \
|
Q_EXTERN_C Q_DECL_EXPORT \
|
||||||
const char *qt_plugin_query_metadata() \
|
const char *qt_plugin_query_metadata() \
|
||||||
{ return reinterpret_cast<const char *>(qt_pluginMetaData); } \
|
{ return reinterpret_cast<const char *>(qt_pluginMetaData_##PLUGINCLASSNAME); } \
|
||||||
Q_EXTERN_C Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance() \
|
Q_EXTERN_C Q_DECL_EXPORT QT_PREPEND_NAMESPACE(QObject) *qt_plugin_instance() \
|
||||||
Q_PLUGIN_INSTANCE(PLUGINCLASS)
|
Q_PLUGIN_INSTANCE(PLUGINCLASS)
|
||||||
|
|
||||||
|
@ -1846,11 +1846,12 @@ void Generator::generatePluginMetaData()
|
|||||||
if (cdef->pluginData.iid.isEmpty())
|
if (cdef->pluginData.iid.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fputs("\nQT_PLUGIN_METADATA_SECTION\n"
|
fprintf(out, "\nQT_PLUGIN_METADATA_SECTION\n"
|
||||||
"static constexpr unsigned char qt_pluginMetaData[] = {\n"
|
"static constexpr unsigned char qt_pluginMetaData_%s[] = {\n"
|
||||||
" 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', '!',\n"
|
" 'Q', 'T', 'M', 'E', 'T', 'A', 'D', 'A', 'T', 'A', ' ', '!',\n"
|
||||||
" // metadata version, Qt version, architectural requirements\n"
|
" // metadata version, Qt version, architectural requirements\n"
|
||||||
" 0, QT_VERSION_MAJOR, QT_VERSION_MINOR, qPluginArchRequirements(),", out);
|
" 0, QT_VERSION_MAJOR, QT_VERSION_MINOR, qPluginArchRequirements(),",
|
||||||
|
cdef->classname.constData());
|
||||||
|
|
||||||
|
|
||||||
CborDevice dev(out);
|
CborDevice dev(out);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user