diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2012-05-27 11:38:36 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-05 08:58:00 +0200 |
commit | b7be632d5e777dfdfd7d6a31ba083e3ac653603d (patch) | |
tree | 08f9c479d5a87151a5274dd2e85901e62bbd22c8 /src/corelib/plugin/qpluginloader.cpp | |
parent | 87e50e079ea226af95699438b38ee5f4574aae68 (diff) |
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>
Diffstat (limited to 'src/corelib/plugin/qpluginloader.cpp')
-rw-r--r-- | src/corelib/plugin/qpluginloader.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp index f198f108da..a33c4e2996 100644 --- a/src/corelib/plugin/qpluginloader.cpp +++ b/src/corelib/plugin/qpluginloader.cpp @@ -173,6 +173,23 @@ QObject *QPluginLoader::instance() } /*! + 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 calls this function before resolving any symbols it is not |