summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sensors/qsensormanager.cpp13
-rw-r--r--src/sensors/qsensorplugin.h4
-rw-r--r--src/sensors/qsensorpluginloader.cpp96
-rw-r--r--src/sensors/qsensorpluginloader_p.h85
-rw-r--r--src/sensors/sensors.pro2
5 files changed, 10 insertions, 190 deletions
diff --git a/src/sensors/qsensormanager.cpp b/src/sensors/qsensormanager.cpp
index 401eeaac..ae023beb 100644
--- a/src/sensors/qsensormanager.cpp
+++ b/src/sensors/qsensormanager.cpp
@@ -41,7 +41,8 @@
#include "qsensormanager.h"
#include <QDebug>
-#include "qsensorpluginloader_p.h"
+#include <private/qfactoryloader_p.h>
+#include <QPluginLoader>
#include "qsensorplugin.h"
#include <QStandardPaths>
#include "sensorlog_p.h"
@@ -50,8 +51,6 @@
QT_BEGIN_NAMESPACE
-Q_GLOBAL_STATIC(QSensorPluginLoader, pluginLoader)
-
typedef QHash<QByteArray,QSensorBackendFactory*> FactoryForIdentifierMap;
typedef QHash<QByteArray,FactoryForIdentifierMap> BackendIdentifiersForTypeMap;
@@ -68,12 +67,14 @@ public:
};
QSensorManagerPrivate()
: pluginLoadingState(NotLoaded)
+ , loader(new QFactoryLoader(QSensorPluginInterface_iid, QLatin1String("/sensors")))
, defaultIdentifierForTypeLoaded(false)
, sensorsChanged(false)
{
}
PluginLoadingState pluginLoadingState;
+ QFactoryLoader *loader;
void loadPlugins();
// Holds a mapping from type to available identifiers (and from there to the factory)
@@ -145,7 +146,8 @@ Q_SENSORS_EXPORT void sensors_unit_test_hook(int index)
Q_ASSERT(load_external_plugins == false);
Q_ASSERT(d->pluginLoadingState == QSensorManagerPrivate::Loaded);
SENSORLOG() << "initializing plugins";
- Q_FOREACH (QObject *plugin, pluginLoader()->plugins()) {
+ foreach (const QString &key, d->loader->keys()) {
+ QObject *plugin = d->loader->instance(key);
initPlugin(plugin);
}
break;
@@ -188,7 +190,8 @@ void QSensorManagerPrivate::loadPlugins()
if (load_external_plugins) {
SENSORLOG() << "initializing plugins";
- Q_FOREACH (QObject *plugin, pluginLoader()->plugins()) {
+ foreach (const QString &key, d->loader->keys()) {
+ QObject *plugin = d->loader->instance(key);
initPlugin(plugin);
}
}
diff --git a/src/sensors/qsensorplugin.h b/src/sensors/qsensorplugin.h
index f3269070..2a23c72d 100644
--- a/src/sensors/qsensorplugin.h
+++ b/src/sensors/qsensorplugin.h
@@ -51,7 +51,7 @@
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-#define QSensorFactoryInterface_iid "com.nokia.Qt.QSensorPluginInterface/1.0"
+#define QSensorPluginInterface_iid "com.nokia.Qt.QSensorPluginInterface/1.0"
class Q_SENSORS_EXPORT QSensorPluginInterface : public QFactoryInterface
{
@@ -72,7 +72,7 @@ protected:
~QSensorChangesInterface() {}
};
-Q_DECLARE_INTERFACE(QSensorPluginInterface, QSensorFactoryInterface_iid);
+Q_DECLARE_INTERFACE(QSensorPluginInterface, QSensorPluginInterface_iid);
Q_DECLARE_INTERFACE(QSensorChangesInterface, "com.nokia.Qt.QSensorChangesInterface/1.0");
QT_END_NAMESPACE
diff --git a/src/sensors/qsensorpluginloader.cpp b/src/sensors/qsensorpluginloader.cpp
deleted file mode 100644
index 25fce3eb..00000000
--- a/src/sensors/qsensorpluginloader.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qsensorpluginloader_p.h"
-#include <QtCore/qcoreapplication.h>
-#include <QtCore/qdir.h>
-#include <QtCore/qdebug.h>
-#include <QtCore/private/qfactoryloader_p.h>
-
-#include "qsensorplugin.h"
-
-QT_BEGIN_NAMESPACE
-
-
-QSensorPluginLoader::QSensorPluginLoader()
-{
- m_loader = new QFactoryLoader(QSensorFactoryInterface_iid, QLatin1String("/sensors"));
- load();
-}
-
-QSensorPluginLoader::~QSensorPluginLoader()
-{
- //delete m_loader;
-}
-
-QList<QObject*> QSensorPluginLoader::plugins() const
-{
- return m_plugins;
-}
-
-void QSensorPluginLoader::load()
-{
- if (!m_plugins.isEmpty())
- return;
-
- bool reportErrors = (qgetenv("QT_DEBUG_PLUGINS") == "1");
-
- /* Now discover the dynamic plugins */
- foreach (const QString &key, m_loader->keys()) {
-
- QObject *o = m_loader->instance(key);
- if (o != 0) {
- QSensorPluginInterface *p = qobject_cast<QSensorPluginInterface*>(o);
- if (p != 0) {
- m_plugins << o;
- } else {
- if (reportErrors) {
- qWarning() << key << "is not a QSensorPluginInterface";
- }
- }
-
- continue;
- }
- }
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/sensors/qsensorpluginloader_p.h b/src/sensors/qsensorpluginloader_p.h
deleted file mode 100644
index 4ffbd1e5..00000000
--- a/src/sensors/qsensorpluginloader_p.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORPLUGINLOADER_H
-#define QSENSORPLUGINLOADER_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/QObject>
-#include <QtCore/qstring.h>
-#include <QtCore/qlist.h>
-#include <QtCore/qpluginloader.h>
-
-QT_BEGIN_HEADER
-QT_BEGIN_NAMESPACE
-
-class QFactoryLoader;
-
-class QSensorPluginLoader
-{
-public:
- QSensorPluginLoader();
- ~QSensorPluginLoader();
-
- QList<QObject*> plugins() const;
-
-private:
- void load();
-
- QFactoryLoader *m_loader;
- QList<QObject*> m_plugins;
-};
-
-QT_END_NAMESPACE
-QT_END_HEADER
-
-#endif
-
diff --git a/src/sensors/sensors.pro b/src/sensors/sensors.pro
index 02d38cf2..d5b6b796 100644
--- a/src/sensors/sensors.pro
+++ b/src/sensors/sensors.pro
@@ -45,13 +45,11 @@ PUBLIC_HEADERS += \
qsensorsglobal.h
PRIVATE_HEADERS += \
- qsensorpluginloader_p.h\
sensorlog_p.h\
SOURCES += qsensorbackend.cpp\
qsensormanager.cpp\
qsensorplugin.cpp\
- qsensorpluginloader.cpp\
SOURCES += \
gestures/qsensorgesture.cpp \