Expose the plugins meta data in the plugin loader
add a metaData() method to QPluginLoader so that applications can query the plugins meta data without having to load the plugin. Change-Id: Ic3ebb35fd3c403926326e8dd1de4176b0c48dbef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
87e50e079e
commit
b7be632d5e
@ -172,6 +172,23 @@ QObject *QPluginLoader::instance()
|
||||
return d->inst.data();
|
||||
}
|
||||
|
||||
/*!
|
||||
Returns the meta data for this plugin. The meta data is data specified
|
||||
in a json format using the Q_PLUGIN_METADATA() macro when compiling
|
||||
the plugin.
|
||||
|
||||
The meta data can be queried in a fast and inexpensive way without
|
||||
actually loading the plugin. This makes it possible to e.g. store
|
||||
capabilities of the plugin in there, and make the decision whether to
|
||||
load the plugin dependent on this meta data.
|
||||
*/
|
||||
QJsonObject QPluginLoader::metaData() const
|
||||
{
|
||||
if (!d)
|
||||
return QJsonObject();
|
||||
return d->metaData;
|
||||
}
|
||||
|
||||
/*!
|
||||
Loads the plugin and returns true if the plugin was loaded
|
||||
successfully; otherwise returns false. Since instance() always
|
||||
|
@ -56,6 +56,7 @@ QT_BEGIN_HEADER
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QLibraryPrivate;
|
||||
class QJsonObject;
|
||||
|
||||
class Q_CORE_EXPORT QPluginLoader : public QObject
|
||||
{
|
||||
@ -68,6 +69,7 @@ public:
|
||||
~QPluginLoader();
|
||||
|
||||
QObject *instance();
|
||||
QJsonObject metaData() const;
|
||||
|
||||
static QObjectList staticInstances();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user