diff options
author | Lorn Potter <lorn.potter@nokia.com> | 2011-11-11 10:46:31 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-14 06:54:31 +0100 |
commit | d95c5fee483816558246586c4621d96c84b224c0 (patch) | |
tree | 6d458feddc453baf26ef85130f8447e8d0d2a6ab /src/sensors/gestures | |
parent | 1f20d5ef3e27981e2af2c6533656694ea3335678 (diff) |
remove qmobilitypluginsearch and use the QFactoryLoader instead.
Change-Id: Ifdd2031d309a5ac4cbeedc5d7cdb6ba9cbb845c3
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Sanity-Review: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Diffstat (limited to 'src/sensors/gestures')
-rw-r--r-- | src/sensors/gestures/qsensorgesturemanagerprivate.cpp | 22 | ||||
-rw-r--r-- | src/sensors/gestures/qsensorgestureplugininterface.cpp | 11 | ||||
-rw-r--r-- | src/sensors/gestures/qsensorgestureplugininterface.h | 15 |
3 files changed, 31 insertions, 17 deletions
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp index 2f85561b..292248b4 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp +++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp @@ -42,13 +42,19 @@ #include <QDir> #include <QLibraryInfo> +#include <QtCore/private/qfactoryloader_p.h> + #include "qsensorgesturerecognizer.h" #include "qsensorgesturemanagerprivate_p.h" #include "qsensorgestureplugininterface.h" -#include "qmobilitypluginsearch.h" QT_BEGIN_NAMESPACE +#ifndef QT_NO_LIBRARY +Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, + (QSensorGestureFactoryInterface_iid, QLatin1String("/sensorgestures"))) +#endif + QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) : QObject(parent) { @@ -58,7 +64,6 @@ QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) : QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate() { qDeleteAll(registeredSensorGestures); - qDeleteAll(plugins); } @@ -87,17 +92,10 @@ QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate() */ void QSensorGestureManagerPrivate::loadPlugins() { - // Qt-style static plugins - Q_FOREACH (QObject *plugin, QPluginLoader::staticInstances()) { - initPlugin(plugin); - } - - QStringList gestureplugins = mobilityPlugins(QLatin1String("sensorgestures")); - for (int i = 0; i < gestureplugins.count(); i++) { - - QPluginLoader *loader = new QPluginLoader(gestureplugins.at(i), this); + QFactoryLoader *l = loader(); + foreach (const QString &key, l->keys()) { - QObject *plugin = loader->instance(); + QObject *plugin = l->instance(key); if (plugin) { initPlugin(plugin); } diff --git a/src/sensors/gestures/qsensorgestureplugininterface.cpp b/src/sensors/gestures/qsensorgestureplugininterface.cpp index 8a68fbcf..95ceca3b 100644 --- a/src/sensors/gestures/qsensorgestureplugininterface.cpp +++ b/src/sensors/gestures/qsensorgestureplugininterface.cpp @@ -80,4 +80,15 @@ Returns this plugins name. */ +QT_BEGIN_NAMESPACE +QSensorGesturePluginInterface::QSensorGesturePluginInterface() +{ +} + +QSensorGesturePluginInterface::~QSensorGesturePluginInterface() +{ + +} + +QT_END_NAMESPACE diff --git a/src/sensors/gestures/qsensorgestureplugininterface.h b/src/sensors/gestures/qsensorgestureplugininterface.h index 93185b77..8128f0e4 100644 --- a/src/sensors/gestures/qsensorgestureplugininterface.h +++ b/src/sensors/gestures/qsensorgestureplugininterface.h @@ -44,24 +44,29 @@ #include <QObject> #include <QtGlobal> - +#include <QtCore/qplugin.h> +#include <QtCore/qfactoryinterface.h> #include "qsensorgesture.h" #include "qsensorgesturerecognizer.h" QT_BEGIN_NAMESPACE class QSensorGestureRecognizer; -class Q_SENSORS_EXPORT QSensorGesturePluginInterface +#define QSensorGestureFactoryInterface_iid "com.Nokia.QSensorGesturePluginInterface" + + +class Q_SENSORS_EXPORT QSensorGesturePluginInterface : public QFactoryInterface { public: + QSensorGesturePluginInterface(); + virtual ~QSensorGesturePluginInterface(); virtual QList <QSensorGestureRecognizer *> createRecognizers() = 0; virtual QStringList supportedIds() const = 0; virtual QString name() const = 0; - + QStringList keys() const { return QStringList() << name(); } }; -Q_DECLARE_INTERFACE(QSensorGesturePluginInterface, "com.Nokia.QSensorGesturePluginInterface"); - QT_END_NAMESPACE +Q_DECLARE_INTERFACE(QSensorGesturePluginInterface, QSensorGestureFactoryInterface_iid); #endif // QSENSORGESTUREPLUGININTERFACE_H |