summaryrefslogtreecommitdiffstats
path: root/src/sensors/qsensorbackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sensors/qsensorbackend.cpp')
-rw-r--r--src/sensors/qsensorbackend.cpp80
1 files changed, 47 insertions, 33 deletions
diff --git a/src/sensors/qsensorbackend.cpp b/src/sensors/qsensorbackend.cpp
index 304674ee..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,15 +133,19 @@ 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;
}
/*!
- \fn QSensorBackend::sensor() const
-
Returns the sensor front end associated with this backend.
*/
+QSensor *QSensorBackend::sensor() const
+{
+ Q_D(const QSensorBackend);
+ return d->m_sensor;
+}
/*!
\fn QSensorBackend::setReading(T *reading)
@@ -210,10 +216,11 @@ QSensorReading *QSensorBackend::reading() 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;
}
/*!
@@ -226,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);
}
/*!
@@ -245,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;
@@ -253,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();
}
/*!
@@ -271,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;
}
/*!
@@ -286,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;
}
/*!
@@ -302,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;
}
/*!
@@ -318,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;
}
/*!
@@ -332,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"