summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2013-04-22 13:33:49 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-06 11:40:56 +0200
commit8b7ecd0eb2d9f1e46835687593b6a7f4b14b1009 (patch)
treed8e9d5cd6c12af1fa6db2d28a209ccd7a3a639f3 /src
parenta8bb2b1720372b79b1e7c03692252a3d6f0a7c0f (diff)
Add a private class to QSensorBackendv5.1.0-beta1
Change-Id: Ifaac09159420b6cca197614a1fa9df8b6a8692dc Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/sensors/qsensorbackend.cpp76
-rw-r--r--src/sensors/qsensorbackend.h6
-rw-r--r--src/sensors/qsensorbackend_p.h76
3 files changed, 124 insertions, 34 deletions
diff --git a/src/sensors/qsensorbackend.cpp b/src/sensors/qsensorbackend.cpp
index 60ce8d77..363ad873 100644
--- a/src/sensors/qsensorbackend.cpp
+++ b/src/sensors/qsensorbackend.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include "qsensorbackend.h"
+#include "qsensorbackend_p.h"
#include "qsensor_p.h"
#include <QDebug>
@@ -59,8 +60,8 @@ QT_BEGIN_NAMESPACE
/*!
\internal
*/
-QSensorBackend::QSensorBackend(QSensor *sensor)
- : m_sensor(sensor)
+QSensorBackend::QSensorBackend(QSensor *sensor, QObject *parent)
+ : QObject(*new QSensorBackendPrivate(sensor), parent)
{
}
@@ -91,21 +92,22 @@ bool QSensorBackend::isFeatureSupported(QSensor::Feature feature) const
*/
void QSensorBackend::newReadingAvailable()
{
- QSensorPrivate *d = m_sensor->d_func();
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
// Copy the values from the device reading to the filter reading
- d->filter_reading->copyValuesFrom(d->device_reading);
+ sensorPrivate->filter_reading->copyValuesFrom(sensorPrivate->device_reading);
- for (QFilterList::const_iterator it = d->filters.constBegin(); it != d->filters.constEnd(); ++it) {
+ for (QFilterList::const_iterator it = sensorPrivate->filters.constBegin(); it != sensorPrivate->filters.constEnd(); ++it) {
QSensorFilter *filter = (*it);
- if (!filter->filter(d->filter_reading))
+ if (!filter->filter(sensorPrivate->filter_reading))
return;
}
// Copy the values from the filter reading to the cached reading
- d->cache_reading->copyValuesFrom(d->filter_reading);
+ sensorPrivate->cache_reading->copyValuesFrom(sensorPrivate->filter_reading);
- Q_EMIT m_sensor->readingChanged();
+ Q_EMIT d->m_sensor->readingChanged();
}
/*!
@@ -131,8 +133,9 @@ void QSensorBackend::newReadingAvailable()
*/
QSensorReading *QSensorBackend::reading() const
{
- QSensorPrivate *d = m_sensor->d_func();
- return d->device_reading;
+ Q_D(const QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ return sensorPrivate->device_reading;
}
/*!
@@ -140,7 +143,8 @@ QSensorReading *QSensorBackend::reading() const
*/
QSensor *QSensorBackend::sensor() const
{
- return m_sensor;
+ Q_D(const QSensorBackend);
+ return d->m_sensor;
}
/*!
@@ -212,10 +216,11 @@ QSensor *QSensorBackend::sensor() const
*/
void QSensorBackend::setReadings(QSensorReading *device, QSensorReading *filter, QSensorReading *cache)
{
- QSensorPrivate *d = m_sensor->d_func();
- d->device_reading = device;
- d->filter_reading = filter;
- d->cache_reading = cache;
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->device_reading = device;
+ sensorPrivate->filter_reading = filter;
+ sensorPrivate->cache_reading = cache;
}
/*!
@@ -228,8 +233,9 @@ void QSensorBackend::setReadings(QSensorReading *device, QSensorReading *filter,
*/
void QSensorBackend::addDataRate(qreal min, qreal max)
{
- QSensorPrivate *d = m_sensor->d_func();
- d->availableDataRates << qrange(min, max);
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->availableDataRates << qrange(min, max);
}
/*!
@@ -247,6 +253,7 @@ void QSensorBackend::addDataRate(qreal min, qreal max)
*/
void QSensorBackend::setDataRates(const QSensor *otherSensor)
{
+ Q_D(QSensorBackend);
if (!otherSensor) {
qWarning() << "ERROR: Cannot call QSensorBackend::setDataRates with 0";
return;
@@ -255,12 +262,12 @@ void QSensorBackend::setDataRates(const QSensor *otherSensor)
qWarning() << "ERROR: Cannot call QSensorBackend::setDataRates with an invalid sensor";
return;
}
- if (m_sensor->isConnectedToBackend()) {
+ if (d->m_sensor->isConnectedToBackend()) {
qWarning() << "ERROR: Cannot call QSensorBackend::setDataRates outside of the constructor";
return;
}
- QSensorPrivate *d = m_sensor->d_func();
- d->availableDataRates = otherSensor->availableDataRates();
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->availableDataRates = otherSensor->availableDataRates();
}
/*!
@@ -273,11 +280,12 @@ void QSensorBackend::setDataRates(const QSensor *otherSensor)
*/
void QSensorBackend::addOutputRange(qreal min, qreal max, qreal accuracy)
{
- QSensorPrivate *d = m_sensor->d_func();
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
qoutputrange details = {min, max, accuracy};
- d->outputRanges << details;
+ sensorPrivate->outputRanges << details;
}
/*!
@@ -288,8 +296,9 @@ void QSensorBackend::addOutputRange(qreal min, qreal max, qreal accuracy)
*/
void QSensorBackend::setDescription(const QString &description)
{
- QSensorPrivate *d = m_sensor->d_func();
- d->description = description;
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->description = description;
}
/*!
@@ -304,8 +313,9 @@ void QSensorBackend::setDescription(const QString &description)
*/
void QSensorBackend::sensorStopped()
{
- QSensorPrivate *d = m_sensor->d_func();
- d->active = false;
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->active = false;
}
/*!
@@ -320,9 +330,10 @@ void QSensorBackend::sensorStopped()
*/
void QSensorBackend::sensorBusy()
{
- QSensorPrivate *d = m_sensor->d_func();
- d->active = false;
- d->busy = true;
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->active = false;
+ sensorPrivate->busy = true;
}
/*!
@@ -334,9 +345,10 @@ void QSensorBackend::sensorBusy()
*/
void QSensorBackend::sensorError(int error)
{
- QSensorPrivate *d = m_sensor->d_func();
- d->error = error;
- Q_EMIT m_sensor->sensorError(error);
+ Q_D(QSensorBackend);
+ QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
+ sensorPrivate->error = error;
+ Q_EMIT d->m_sensor->sensorError(error);
}
#include "moc_qsensorbackend.cpp"
diff --git a/src/sensors/qsensorbackend.h b/src/sensors/qsensorbackend.h
index c452a4dc..03a0c413 100644
--- a/src/sensors/qsensorbackend.h
+++ b/src/sensors/qsensorbackend.h
@@ -47,11 +47,13 @@
QT_BEGIN_NAMESPACE
+class QSensorBackendPrivate;
+
class Q_SENSORS_EXPORT QSensorBackend : public QObject
{
Q_OBJECT
public:
- QSensorBackend(QSensor *sensor);
+ explicit QSensorBackend(QSensor *sensor, QObject *parent = 0);
virtual ~QSensorBackend();
virtual void start() = 0;
@@ -86,7 +88,7 @@ public:
private:
void setReadings(QSensorReading *device, QSensorReading *filter, QSensorReading *cache);
- QSensor *m_sensor;
+ Q_DECLARE_PRIVATE(QSensorBackend)
Q_DISABLE_COPY(QSensorBackend)
};
diff --git a/src/sensors/qsensorbackend_p.h b/src/sensors/qsensorbackend_p.h
new file mode 100644
index 00000000..5b989401
--- /dev/null
+++ b/src/sensors/qsensorbackend_p.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Research In Motion
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSensors module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, 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, Digia gives you certain additional
+** rights. These rights are described in the Digia 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.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSENSORBACKEND_P_H
+#define QSENSORBACKEND_P_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 "qsensorbackend.h"
+
+#include "private/qobject_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QSensorBackendPrivate : public QObjectPrivate
+{
+ Q_DECLARE_PUBLIC(QSensorBackend)
+public:
+ explicit QSensorBackendPrivate(QSensor *sensor)
+ : m_sensor(sensor)
+ {
+ }
+
+ QSensor *m_sensor;
+};
+
+QT_END_NAMESPACE
+
+#endif
+