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 --- src/plugins/sensorgestures/qtsensors/plugin.json | 1 + .../sensorgestures/qtsensors/qtsensorgestureplugin.cpp | 3 --- src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h | 3 ++- src/plugins/sensorgestures/qtsensors/qtsensors.pro | 3 +++ src/plugins/sensorgestures/shake/plugin.json | 1 + .../sensorgestures/shake/qshakesensorgestureplugin.cpp | 3 --- src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h | 3 ++- src/plugins/sensorgestures/shake/shake.pro | 3 +++ src/plugins/sensorgestures/simulator/plugin.json | 1 + .../simulator/qsimulatorsensorgestureplugin.cpp | 3 --- .../sensorgestures/simulator/qsimulatorsensorgestureplugin.h | 3 ++- src/plugins/sensorgestures/simulator/simulator.pro | 3 +++ src/plugins/sensors/dummy/dummy.pri | 9 --------- src/plugins/sensors/dummy/dummy.pro | 11 ++++++++++- src/plugins/sensors/dummy/main.cpp | 6 ++---- src/plugins/sensors/dummy/plugin.json | 1 + src/plugins/sensors/generic/generic.pri | 9 --------- src/plugins/sensors/generic/generic.pro | 10 +++++++++- src/plugins/sensors/generic/main.cpp | 6 ++---- src/plugins/sensors/generic/plugin.json | 1 + src/plugins/sensors/simulator/main.cpp | 6 ++---- src/plugins/sensors/simulator/plugin.json | 1 + src/plugins/sensors/simulator/simulator.pro | 1 + 23 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 src/plugins/sensorgestures/qtsensors/plugin.json create mode 100644 src/plugins/sensorgestures/shake/plugin.json create mode 100644 src/plugins/sensorgestures/simulator/plugin.json delete mode 100644 src/plugins/sensors/dummy/dummy.pri create mode 100644 src/plugins/sensors/dummy/plugin.json delete mode 100644 src/plugins/sensors/generic/generic.pri create mode 100644 src/plugins/sensors/generic/plugin.json create mode 100644 src/plugins/sensors/simulator/plugin.json (limited to 'src/plugins') diff --git a/src/plugins/sensorgestures/qtsensors/plugin.json b/src/plugins/sensorgestures/qtsensors/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/src/plugins/sensorgestures/qtsensors/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp b/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp index e770d362..11044209 100644 --- a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp +++ b/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp @@ -109,7 +109,4 @@ QList QtSensorGesturePlugin::createRecognizers() return recognizers; } - -Q_EXPORT_PLUGIN2(qtsensorgestures_plugin, QtSensorGesturePlugin) - QT_END_NAMESPACE diff --git a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h b/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h index 75e4a2f8..75045094 100644 --- a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h +++ b/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h @@ -52,7 +52,8 @@ QT_BEGIN_NAMESPACE class QtSensorGesturePlugin : 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 QtSensorGesturePlugin(); diff --git a/src/plugins/sensorgestures/qtsensors/qtsensors.pro b/src/plugins/sensorgestures/qtsensors/qtsensors.pro index e469fda9..b02ef3db 100644 --- a/src/plugins/sensorgestures/qtsensors/qtsensors.pro +++ b/src/plugins/sensorgestures/qtsensors/qtsensors.pro @@ -34,3 +34,6 @@ SOURCES += qtsensorgestureplugin.cpp \ target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures INSTALLS += target +OTHER_FILES += \ + plugin.json + diff --git a/src/plugins/sensorgestures/shake/plugin.json b/src/plugins/sensorgestures/shake/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/src/plugins/sensorgestures/shake/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp b/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp index 7bba6047..1c9b450e 100644 --- a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp +++ b/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp @@ -74,6 +74,3 @@ QList QShakeSensorGesturePlugin::createRecognizers( return recognizers; } - -Q_EXPORT_PLUGIN2(qtsensorgestures_shakeplugin, QShakeSensorGesturePlugin) - diff --git a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h b/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h index c7ad8d70..826ed0c4 100644 --- a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h +++ b/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h @@ -50,7 +50,8 @@ class QShakeSensorGesturePlugin : 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 QShakeSensorGesturePlugin(); diff --git a/src/plugins/sensorgestures/shake/shake.pro b/src/plugins/sensorgestures/shake/shake.pro index 80197c7e..a5e69783 100644 --- a/src/plugins/sensorgestures/shake/shake.pro +++ b/src/plugins/sensorgestures/shake/shake.pro @@ -15,3 +15,6 @@ SOURCES += qshakesensorgestureplugin.cpp \ target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures INSTALLS += target +OTHER_FILES += \ + plugin.json + diff --git a/src/plugins/sensorgestures/simulator/plugin.json b/src/plugins/sensorgestures/simulator/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/src/plugins/sensorgestures/simulator/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp b/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp index a8d45a11..66dcd854 100644 --- a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp +++ b/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.cpp @@ -75,6 +75,3 @@ QList QSimulatorSensorGesturePlugin::createRecogniz return recognizers; } - -Q_EXPORT_PLUGIN2(QSimulatorSensorGestureRecognizer, QSimulatorSensorGesturePlugin) - diff --git a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h b/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h index 9fe91bdd..4f598007 100644 --- a/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h +++ b/src/plugins/sensorgestures/simulator/qsimulatorsensorgestureplugin.h @@ -50,7 +50,8 @@ class QSimulatorSensorGesturePlugin : 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 QSimulatorSensorGesturePlugin(); diff --git a/src/plugins/sensorgestures/simulator/simulator.pro b/src/plugins/sensorgestures/simulator/simulator.pro index 015d01f0..5f1712d1 100644 --- a/src/plugins/sensorgestures/simulator/simulator.pro +++ b/src/plugins/sensorgestures/simulator/simulator.pro @@ -21,4 +21,7 @@ SOURCES += \ qsimulatorrecognizer.cpp\ qsimulatorsensorgestureplugin.cpp +OTHER_FILES += \ + plugin.json + diff --git a/src/plugins/sensors/dummy/dummy.pri b/src/plugins/sensors/dummy/dummy.pri deleted file mode 100644 index 502081c7..00000000 --- a/src/plugins/sensors/dummy/dummy.pri +++ /dev/null @@ -1,9 +0,0 @@ -HEADERS += dummycommon.h\ - dummyaccelerometer.h\ - dummylightsensor.h\ - -SOURCES += dummycommon.cpp\ - dummyaccelerometer.cpp\ - dummylightsensor.cpp\ - main.cpp\ - diff --git a/src/plugins/sensors/dummy/dummy.pro b/src/plugins/sensors/dummy/dummy.pro index b49c0be8..2cf13924 100644 --- a/src/plugins/sensors/dummy/dummy.pro +++ b/src/plugins/sensors/dummy/dummy.pro @@ -7,7 +7,16 @@ load(qt_plugin) DESTDIR = $$QT.sensors.plugins/sensors -include(dummy.pri) +HEADERS += dummycommon.h\ + dummyaccelerometer.h\ + dummylightsensor.h + +SOURCES += dummycommon.cpp\ + dummyaccelerometer.cpp\ + dummylightsensor.cpp\ + main.cpp + +OTHER_FILES = plugin.json unix:!mac:LIBS+=-lrt diff --git a/src/plugins/sensors/dummy/main.cpp b/src/plugins/sensors/dummy/main.cpp index b9aa7d2e..df69c5f9 100644 --- a/src/plugins/sensors/dummy/main.cpp +++ b/src/plugins/sensors/dummy/main.cpp @@ -50,7 +50,8 @@ class dummySensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory { Q_OBJECT - Q_INTERFACES(QSensorPluginInterface:QFactoryInterface) + Q_PLUGIN_METADATA(IID "com.nokia.Qt.QSensorPluginInterface/1.0" FILE "plugin.json") + Q_INTERFACES(QSensorPluginInterface) public: void registerSensors() { @@ -71,10 +72,7 @@ public: return 0; } - QStringList keys() const { return QStringList() << "dummy";} }; -Q_EXPORT_PLUGIN2(qtsensors_dummy, dummySensorPlugin) - #include "main.moc" diff --git a/src/plugins/sensors/dummy/plugin.json b/src/plugins/sensors/dummy/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/src/plugins/sensors/dummy/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensors/generic/generic.pri b/src/plugins/sensors/generic/generic.pri deleted file mode 100644 index 69efdc06..00000000 --- a/src/plugins/sensors/generic/generic.pri +++ /dev/null @@ -1,9 +0,0 @@ -HEADERS += genericorientationsensor.h\ - genericrotationsensor.h\ - genericalssensor.h - -SOURCES += genericorientationsensor.cpp\ - main.cpp\ - genericrotationsensor.cpp\ - genericalssensor.cpp - diff --git a/src/plugins/sensors/generic/generic.pro b/src/plugins/sensors/generic/generic.pro index 3d9e9cc4..c5b2bab7 100644 --- a/src/plugins/sensors/generic/generic.pro +++ b/src/plugins/sensors/generic/generic.pro @@ -7,8 +7,16 @@ load(qt_plugin) DESTDIR = $$QT.sensors.plugins/sensors -include(generic.pri) +HEADERS += genericorientationsensor.h\ + genericrotationsensor.h\ + genericalssensor.h +SOURCES += genericorientationsensor.cpp\ + main.cpp\ + genericrotationsensor.cpp\ + genericalssensor.cpp + +OTHER_FILES = plugin.json symbian { TARGET.EPOCALLOWDLLDATA = 1 diff --git a/src/plugins/sensors/generic/main.cpp b/src/plugins/sensors/generic/main.cpp index f8bd9f45..f0af75be 100644 --- a/src/plugins/sensors/generic/main.cpp +++ b/src/plugins/sensors/generic/main.cpp @@ -51,7 +51,8 @@ class genericSensorPlugin : 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() { @@ -92,10 +93,7 @@ public: return 0; } - QStringList keys() const { return QStringList() << "generic";} }; -Q_EXPORT_PLUGIN2(qtsensors_generic, genericSensorPlugin) - #include "main.moc" diff --git a/src/plugins/sensors/generic/plugin.json b/src/plugins/sensors/generic/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/src/plugins/sensors/generic/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensors/simulator/main.cpp b/src/plugins/sensors/simulator/main.cpp index 3a81db29..65a1bced 100644 --- a/src/plugins/sensors/simulator/main.cpp +++ b/src/plugins/sensors/simulator/main.cpp @@ -53,7 +53,8 @@ class SimulatorSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory { Q_OBJECT - Q_INTERFACES(QSensorPluginInterface:QFactoryInterface) + Q_PLUGIN_METADATA(IID "com.nokia.Qt.QSensorPluginInterface/1.0" FILE "plugin.json") + Q_INTERFACES(QSensorPluginInterface) public: void registerSensors() { @@ -98,10 +99,7 @@ public: return 0; } - QStringList keys() const { return QStringList() << "simulator";} }; -Q_EXPORT_PLUGIN2(libsensors_simulator, SimulatorSensorPlugin) - #include "main.moc" diff --git a/src/plugins/sensors/simulator/plugin.json b/src/plugins/sensors/simulator/plugin.json new file mode 100644 index 00000000..8a55b3ae --- /dev/null +++ b/src/plugins/sensors/simulator/plugin.json @@ -0,0 +1 @@ +{ "Keys": [ "notused" ] } diff --git a/src/plugins/sensors/simulator/simulator.pro b/src/plugins/sensors/simulator/simulator.pro index f811170b..56bfb18f 100644 --- a/src/plugins/sensors/simulator/simulator.pro +++ b/src/plugins/sensors/simulator/simulator.pro @@ -35,3 +35,4 @@ SOURCES += \ qsensordata_simulator.cpp\ main.cpp +OTHER_FILES = plugin.json -- cgit v1.2.3