From b6d87d1b5141987452bc30e8b1d4115998ba6fd9 Mon Sep 17 00:00:00 2001 From: Lincoln Ramsay Date: Wed, 14 Mar 2012 16:13:46 +1000 Subject: Remove QSensorPluginLoader This class does virtually nothing except to hide the use of QFactoryLoader from QSensorManager. Change-Id: I70e791f9d842102204fd970e7806f409ae1eca65 Reviewed-by: Lincoln Ramsay --- src/sensors/qsensormanager.cpp | 13 +++-- src/sensors/qsensorplugin.h | 4 +- src/sensors/qsensorpluginloader.cpp | 96 ------------------------------------- src/sensors/qsensorpluginloader_p.h | 85 -------------------------------- src/sensors/sensors.pro | 2 - 5 files changed, 10 insertions(+), 190 deletions(-) delete mode 100644 src/sensors/qsensorpluginloader.cpp delete mode 100644 src/sensors/qsensorpluginloader_p.h 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 -#include "qsensorpluginloader_p.h" +#include +#include #include "qsensorplugin.h" #include #include "sensorlog_p.h" @@ -50,8 +51,6 @@ QT_BEGIN_NAMESPACE -Q_GLOBAL_STATIC(QSensorPluginLoader, pluginLoader) - typedef QHash FactoryForIdentifierMap; typedef QHash 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 -#include -#include -#include - -#include "qsensorplugin.h" - -QT_BEGIN_NAMESPACE - - -QSensorPluginLoader::QSensorPluginLoader() -{ - m_loader = new QFactoryLoader(QSensorFactoryInterface_iid, QLatin1String("/sensors")); - load(); -} - -QSensorPluginLoader::~QSensorPluginLoader() -{ - //delete m_loader; -} - -QList 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(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 -#include -#include -#include - -QT_BEGIN_HEADER -QT_BEGIN_NAMESPACE - -class QFactoryLoader; - -class QSensorPluginLoader -{ -public: - QSensorPluginLoader(); - ~QSensorPluginLoader(); - - QList plugins() const; - -private: - void load(); - - QFactoryLoader *m_loader; - QList 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 \ -- cgit v1.2.3