From 8d25a4a58c47431c589d8cbbc82e442360cf7e63 Mon Sep 17 00:00:00 2001 From: Lincoln Ramsay Date: Wed, 14 Mar 2012 16:33:19 +1000 Subject: 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 --- examples/sensors/grue/plugin/main.cpp | 6 ++---- examples/sensors/grue/plugin/plugin.json | 1 + examples/sensors/grue/plugin/plugin.pro | 3 +++ examples/sensors/qmlsensorgestures/plugin/plugin.json | 1 + examples/sensors/qmlsensorgestures/plugin/plugin.pro | 3 +++ examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp | 3 --- examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h | 3 ++- 7 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 examples/sensors/grue/plugin/plugin.json create mode 100644 examples/sensors/qmlsensorgestures/plugin/plugin.json (limited to 'examples') diff --git a/examples/sensors/grue/plugin/main.cpp b/examples/sensors/grue/plugin/main.cpp index 713b12ec..36aec298 100644 --- a/examples/sensors/grue/plugin/main.cpp +++ b/examples/sensors/grue/plugin/main.cpp @@ -48,7 +48,8 @@ class GrueSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorChangesInterface, public QSensorBackendFactory { Q_OBJECT - Q_INTERFACES(QSensorPluginInterface:QFactoryInterface QSensorChangesInterface) + Q_PLUGIN_METADATA(IID "com.nokia.Qt.QSensorPluginInterface/1.0" FILE "plugin.json") + Q_INTERFACES(QSensorPluginInterface QSensorChangesInterface) public: void registerSensors() { @@ -74,10 +75,7 @@ public: return 0; } - QStringList keys() const { return QStringList() << "grue";} }; -Q_EXPORT_PLUGIN2(libsensors_grueplugin, GrueSensorPlugin) - #include "main.moc" diff --git a/examples/sensors/grue/plugin/plugin.json b/examples/sensors/grue/plugin/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/examples/sensors/grue/plugin/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/examples/sensors/grue/plugin/plugin.pro b/examples/sensors/grue/plugin/plugin.pro index 90d7a01a..489a1cec 100644 --- a/examples/sensors/grue/plugin/plugin.pro +++ b/examples/sensors/grue/plugin/plugin.pro @@ -16,3 +16,6 @@ SOURCES += gruesensorimpl.cpp\ target.path=$$[QT_INSTALL_PLUGINS]/sensors INSTALLS += target +OTHER_FILES += \ + plugin.json + diff --git a/examples/sensors/qmlsensorgestures/plugin/plugin.json b/examples/sensors/qmlsensorgestures/plugin/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/examples/sensors/qmlsensorgestures/plugin/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/examples/sensors/qmlsensorgestures/plugin/plugin.pro b/examples/sensors/qmlsensorgestures/plugin/plugin.pro index 0e9cb1aa..2003e910 100644 --- a/examples/sensors/qmlsensorgestures/plugin/plugin.pro +++ b/examples/sensors/qmlsensorgestures/plugin/plugin.pro @@ -16,3 +16,6 @@ SOURCES += \ target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures INSTALLS += target +OTHER_FILES += \ + plugin.json + diff --git a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp b/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp index 0d3f2c56..1fda1879 100644 --- a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp +++ b/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp @@ -73,6 +73,3 @@ QList QCounterGesturePlugin::createRecognizers() return recognizers; } - -Q_EXPORT_PLUGIN2(QCounterGestureRecognizer, QCounterGesturePlugin) - diff --git a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h b/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h index 9b73969f..4755f96e 100644 --- a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h +++ b/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h @@ -49,7 +49,8 @@ class QCounterGesturePlugin : public QObject, public QSensorGesturePluginInterface { Q_OBJECT - Q_INTERFACES(QSensorGesturePluginInterface:QFactoryInterface) + Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface" FILE "plugin.json") + Q_INTERFACES(QSensorGesturePluginInterface) public: explicit QCounterGesturePlugin(); -- cgit v1.2.3