summaryrefslogtreecommitdiffstats
path: root/src/sensors/qsensormanager.cpp
diff options
context:
space:
mode:
authorLincoln Ramsay <lincoln.ramsay@nokia.com>2012-03-14 16:33:19 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-16 08:02:30 +0100
commit8d25a4a58c47431c589d8cbbc82e442360cf7e63 (patch)
tree14d4c0f123e602e8528298346f72df5debd2936c /src/sensors/qsensormanager.cpp
parentb6d87d1b5141987452bc30e8b1d4115998ba6fd9 (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/qsensormanager.cpp')
-rw-r--r--src/sensors/qsensormanager.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/sensors/qsensormanager.cpp b/src/sensors/qsensormanager.cpp
index ae023beb..67e5b442 100644
--- a/src/sensors/qsensormanager.cpp
+++ b/src/sensors/qsensormanager.cpp
@@ -67,7 +67,7 @@ public:
};
QSensorManagerPrivate()
: pluginLoadingState(NotLoaded)
- , loader(new QFactoryLoader(QSensorPluginInterface_iid, QLatin1String("/sensors")))
+ , loader(new QFactoryLoader("com.nokia.Qt.QSensorPluginInterface/1.0", QLatin1String("/sensors")))
, defaultIdentifierForTypeLoaded(false)
, sensorsChanged(false)
{
@@ -143,14 +143,17 @@ Q_SENSORS_EXPORT void sensors_unit_test_hook(int index)
load_external_plugins = false;
break;
case 1:
+ {
Q_ASSERT(load_external_plugins == false);
Q_ASSERT(d->pluginLoadingState == QSensorManagerPrivate::Loaded);
SENSORLOG() << "initializing plugins";
- foreach (const QString &key, d->loader->keys()) {
- QObject *plugin = d->loader->instance(key);
+ QList<QJsonObject> meta = d->loader->metaData();
+ for (int i = 0; i < meta.count(); i++) {
+ QObject *plugin = d->loader->instance(i);
initPlugin(plugin);
}
break;
+ }
default:
break;
}
@@ -190,8 +193,9 @@ void QSensorManagerPrivate::loadPlugins()
if (load_external_plugins) {
SENSORLOG() << "initializing plugins";
- foreach (const QString &key, d->loader->keys()) {
- QObject *plugin = d->loader->instance(key);
+ QList<QJsonObject> meta = d->loader->metaData();
+ for (int i = 0; i < meta.count(); i++) {
+ QObject *plugin = d->loader->instance(i);
initPlugin(plugin);
}
}