summaryrefslogtreecommitdiffstats
path: root/src/sensors
diff options
context:
space:
mode:
authorLincoln Ramsay <lincoln.ramsay@nokia.com>2011-11-18 11:24:45 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-18 03:42:37 +0100
commit4cbb0f70c452f7e6b03b37be4c61597e22fa08b8 (patch)
treed856cf53c071b3e1e813c053091caf6c4b7c9e56 /src/sensors
parent45bd60a092b57ddf26e7e2ba716e5d71ce2a2fd5 (diff)
QFactoryLoader is used by singletons
Instead of using Q_GLOBAL_STATIC, just create and delete the QFactoryLoader instances in the singleton objects. Change-Id: I91ba017b530f0c48a74dc5c0a69fbc8fc20ab250 Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
Diffstat (limited to 'src/sensors')
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate.cpp12
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate_p.h3
-rw-r--r--src/sensors/qsensorpluginloader.cpp12
-rw-r--r--src/sensors/qsensorpluginloader_p.h3
4 files changed, 14 insertions, 16 deletions
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
index 292248b4..c8e70530 100644
--- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
+++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
@@ -50,20 +50,17 @@
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)
{
+ loader = new QFactoryLoader(QSensorGestureFactoryInterface_iid, QLatin1String("/sensorgestures"));
loadPlugins();
}
QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate()
{
qDeleteAll(registeredSensorGestures);
+ delete loader;
}
@@ -92,10 +89,9 @@ QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate()
*/
void QSensorGestureManagerPrivate::loadPlugins()
{
- QFactoryLoader *l = loader();
- foreach (const QString &key, l->keys()) {
+ foreach (const QString &key, loader->keys()) {
- QObject *plugin = l->instance(key);
+ QObject *plugin = loader->instance(key);
if (plugin) {
initPlugin(plugin);
}
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
index a166fac7..1bf527a4 100644
--- a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
+++ b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
@@ -52,6 +52,8 @@
#include "qsensorgesture.h"
#include "qsensorgesturerecognizer.h"
+class QFactoryLoader;
+
class QSensorGestureManagerPrivate : public QObject
{
Q_OBJECT
@@ -63,6 +65,7 @@ public:
QList <QObject *> plugins;
+ QFactoryLoader *loader;
void loadPlugins();
bool loadRecognizer(const QString &id);
diff --git a/src/sensors/qsensorpluginloader.cpp b/src/sensors/qsensorpluginloader.cpp
index 7c9ab71f..f2c8a196 100644
--- a/src/sensors/qsensorpluginloader.cpp
+++ b/src/sensors/qsensorpluginloader.cpp
@@ -50,18 +50,15 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_LIBRARY
-Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
- (QSensorFactoryInterface_iid, QLatin1String("/sensors")))
-#endif
-
QSensorPluginLoader::QSensorPluginLoader()
{
+ m_loader = new QFactoryLoader(QSensorFactoryInterface_iid, QLatin1String("/sensors"));
load();
}
QSensorPluginLoader::~QSensorPluginLoader()
{
+ delete m_loader;
}
QList<QObject*> QSensorPluginLoader::plugins() const
@@ -77,10 +74,9 @@ void QSensorPluginLoader::load()
bool reportErrors = (qgetenv("QT_DEBUG_PLUGINS") == "1");
/* Now discover the dynamic plugins */
- QFactoryLoader *l = loader();
- foreach (const QString &key, l->keys()) {
+ foreach (const QString &key, m_loader->keys()) {
- QObject *o = l->instance(key);
+ QObject *o = m_loader->instance(key);
if (o != 0) {
QSensorPluginInterface *p = qobject_cast<QSensorPluginInterface*>(o);
if (p != 0) {
diff --git a/src/sensors/qsensorpluginloader_p.h b/src/sensors/qsensorpluginloader_p.h
index 552b3264..634c4987 100644
--- a/src/sensors/qsensorpluginloader_p.h
+++ b/src/sensors/qsensorpluginloader_p.h
@@ -60,6 +60,8 @@
QT_BEGIN_NAMESPACE
+class QFactoryLoader;
+
class QSensorPluginLoader
{
public:
@@ -71,6 +73,7 @@ public:
private:
void load();
+ QFactoryLoader *m_loader;
QList<QObject*> m_plugins;
};