summaryrefslogtreecommitdiffstats
path: root/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sensors/gestures/qsensorgesturemanagerprivate.cpp')
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate.cpp22
1 files changed, 10 insertions, 12 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);
}