diff options
author | Lincoln Ramsay <lincoln.ramsay@nokia.com> | 2012-03-14 16:33:19 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-16 08:02:30 +0100 |
commit | 8d25a4a58c47431c589d8cbbc82e442360cf7e63 (patch) | |
tree | 14d4c0f123e602e8528298346f72df5debd2936c /src/sensors/gestures/qsensorgesturemanagerprivate.cpp | |
parent | b6d87d1b5141987452bc30e8b1d4115998ba6fd9 (diff) |
Use the new plugin mechanism for Sensors and SensorGestures
Plugins no longer use QFactoryInterface or Q_EXPORT_PLUGIN. Instead,
Q_PLUGIN_METADATA is used.
Meta-data is provided through a .json file that is embedded into the
plugin by moc.
For now, this meta-data is not actually used because both sensors
and gestures use a dynamic registration mechanism.
Change-Id: Ic82657e2ba5768127e13f7411ca51f60772781d8
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Diffstat (limited to 'src/sensors/gestures/qsensorgesturemanagerprivate.cpp')
-rw-r--r-- | src/sensors/gestures/qsensorgesturemanagerprivate.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp index 3108babc..cc5d1034 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp +++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp @@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) : QObject(parent) { - loader = new QFactoryLoader(QSensorGestureFactoryInterface_iid, QLatin1String("/sensorgestures")); + loader = new QFactoryLoader("com.Nokia.QSensorGesturePluginInterface", QLatin1String("/sensorgestures")); loadPlugins(); } @@ -92,12 +92,13 @@ QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate() */ void QSensorGestureManagerPrivate::loadPlugins() { - foreach (const QString &key, loader->keys()) { - - QObject *plugin = loader->instance(key); - if (plugin) { - initPlugin(plugin); - } + Q_FOREACH (QObject *plugin, QPluginLoader::staticInstances()) { + initPlugin(plugin); + } + QList<QJsonObject> meta = loader->metaData(); + for (int i = 0; i < meta.count(); i++) { + QObject *plugin = loader->instance(i); + initPlugin(plugin); } } |