summaryrefslogtreecommitdiffstats
path: root/src/qtmsensors/qsensorbackend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qtmsensors/qsensorbackend.cpp')
-rw-r--r--src/qtmsensors/qsensorbackend.cpp328
1 files changed, 0 insertions, 328 deletions
diff --git a/src/qtmsensors/qsensorbackend.cpp b/src/qtmsensors/qsensorbackend.cpp
deleted file mode 100644
index 27a3ac2f..00000000
--- a/src/qtmsensors/qsensorbackend.cpp
+++ /dev/null
@@ -1,328 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** 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 "qsensorbackend_p.h"
-#include "qsensor_p.h"
-#include <QDebug>
-
-QT_BEGIN_NAMESPACE
-QTM_BEGIN_NAMESPACE
-
-/*!
- \class QSensorBackend
- \ingroup sensors_backend
- \inmodule QtSensors
- \since 1.0
-
- \brief The QSensorBackend class is a sensor implementation.
-
- Sensors on a device will be represented by sub-classes of
- QSensorBackend.
-*/
-
-/*!
- \internal
-*/
-QSensorBackend::QSensorBackend(QSensor *sensor)
- : m_sensor(sensor)
-{
-}
-
-/*!
- \internal
-*/
-QSensorBackend::~QSensorBackend()
-{
-}
-
-/*!
- Notify the QSensor class that a new reading is available.
-*/
-void QSensorBackend::newReadingAvailable()
-{
- QSensorPrivate *d = m_sensor->d_func();
-
- // Copy the values from the device reading to the filter reading
- d->filter_reading->copyValuesFrom(d->device_reading);
-
- for (QFilterList::const_iterator it = d->filters.constBegin(); it != d->filters.constEnd(); ++it) {
- QSensorFilter *filter = (*it);
- if (!filter->filter(d->filter_reading))
- return;
- }
-
- // Copy the values from the filter reading to the cached reading
- d->cache_reading->copyValuesFrom(d->filter_reading);
-
- Q_EMIT m_sensor->readingChanged();
-}
-
-/*!
- \fn QSensorBackend::start()
-
- Start reporting values.
-*/
-
-/*!
- \fn QSensorBackend::stop()
-
- Stop reporting values.
-*/
-
-/*!
- If the backend has lost its reference to the reading
- it can call this method to get the address.
-
- Note that you will need to down-cast to the appropriate
- type.
-
- \sa setReading()
-*/
-QSensorReading *QSensorBackend::reading() const
-{
- QSensorPrivate *d = m_sensor->d_func();
- return d->device_reading;
-}
-
-/*!
- \fn QSensorBackend::sensor() const
-
- Returns the sensor front end associated with this backend.
-*/
-
-/*!
- \fn QSensorBackend::setReading(T *reading)
-
- This function is called to initialize the \a reading
- classes used for a sensor.
-
- If your backend has already allocated a reading you
- should pass the address of this to the function.
- Otherwise you should pass 0 and the function will
- return the address of the reading your backend
- should use when it wants to notify the sensor API
- of new readings.
-
- Note that this is a template function so it should
- be called with the appropriate type.
-
- \code
- class MyBackend : public QSensorBackend
- {
- QAccelerometerReading m_reading;
- public:
- MyBackend(QSensor *sensor)
- : QSensorBackend(sensor)
- {
- setReading<QAccelerometerReading>(&m_reading);
- }
-
- ...
- \endcode
-
- Note that this function must be called or you will
- not be able to send readings to the front end.
-
- If you do not wish to store the address of the reading
- you may use the reading() method to get it again later.
-
- \code
- class MyBackend : public QSensorBackend
- {
- public:
- MyBackend(QSensor *sensor)
- : QSensorBackend(sensor)
- {
- setReading<QAccelerometerReading>(0);
- }
-
- void poll()
- {
- quint64 timestamp;
- qreal x, y, z;
- ...
- QAccelerometerReading *reading = static_cast<QAccelerometerReading*>(reading());
- reading->setTimestamp(timestamp);
- reading->setX(x);
- reading->setY(y);
- reading->setZ(z);
- }
-
- ...
- \endcode
-
- \sa reading()
-*/
-
-/*!
- \internal
-*/
-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;
-}
-
-/*!
- Add a data rate (consisting of \a min and \a max values) for the sensor.
-
- Note that this function should be called from the constructor so that the information
- is available immediately.
-
- \sa QSensor::availableDataRates
-*/
-void QSensorBackend::addDataRate(qreal min, qreal max)
-{
- QSensorPrivate *d = m_sensor->d_func();
- d->availableDataRates << qrange(min, max);
-}
-
-/*!
- Set the data rates for the sensor based on \a otherSensor.
-
- This is designed for sensors that are based on other sensors.
-
- \code
- setDataRates(otherSensor);
- \endcode
-
- Note that this function should be called from the constructor so that the information
- is available immediately.
-
- \sa QSensor::availableDataRates, addDataRate()
-*/
-void QSensorBackend::setDataRates(const QSensor *otherSensor)
-{
- if (!otherSensor) {
- qWarning() << "ERROR: Cannot call QSensorBackend::setDataRates with 0";
- return;
- }
- if (otherSensor->identifier().isEmpty()) {
- qWarning() << "ERROR: Cannot call QSensorBackend::setDataRates with an invalid sensor";
- return;
- }
- QSensorPrivate *d = m_sensor->d_func();
- d->availableDataRates = otherSensor->availableDataRates();
- d->dataRate = otherSensor->dataRate();
-}
-
-/*!
- Add an output range (consisting of \a min, \a max values and \a accuracy) for the sensor.
-
- Note that this function should be called from the constructor so that the information
- is available immediately.
-
- \sa QSensor::outputRange, QSensor::outputRanges
-*/
-void QSensorBackend::addOutputRange(qreal min, qreal max, qreal accuracy)
-{
- QSensorPrivate *d = m_sensor->d_func();
-
- qoutputrange details = {min, max, accuracy};
-
- d->outputRanges << details;
-}
-
-/*!
- Set the \a description for the sensor.
-
- Note that this function should be called from the constructor so that the information
- is available immediately.
-*/
-void QSensorBackend::setDescription(const QString &description)
-{
- QSensorPrivate *d = m_sensor->d_func();
- d->description = description;
-}
-
-/*!
- Inform the front end that the sensor has stopped.
- This can be due to start() failing or for some
- unexpected reason (eg. hardware failure).
-
- Note that the front end must call QSensor::isActive() to see if
- the sensor has stopped. If the sensor has stopped due to an error
- the sensorError() function should be called to notify the class
- of the error condition.
-*/
-void QSensorBackend::sensorStopped()
-{
- QSensorPrivate *d = m_sensor->d_func();
- d->active = false;
-}
-
-/*!
- Inform the front end that the sensor is busy.
- This implicitly calls sensorStopped() and
- is typically called from start().
-
- Note that the front end must call QSensor::isBusy() to see if
- the sensor is busy. If the sensor has stopped due to an error
- the sensorError() function should be called to notify the class
- of the error condition.
-*/
-void QSensorBackend::sensorBusy()
-{
- QSensorPrivate *d = m_sensor->d_func();
- d->active = false;
- d->busy = true;
-}
-
-/*!
- Inform the front end that a sensor error occurred.
- Note that this only reports an \a error code. It does
- not stop the sensor.
-
- \sa sensorStopped()
-*/
-void QSensorBackend::sensorError(int error)
-{
- QSensorPrivate *d = m_sensor->d_func();
- d->error = error;
- Q_EMIT m_sensor->sensorError(error);
-}
-
-#include "moc_qsensorbackend_p.cpp"
-QTM_END_NAMESPACE
-QT_END_NAMESPACE
-