QSensorFilter Class
The QSensorFilter class provides an efficient callback facility for asynchronous notifications of sensor changes. More...
Header: | #include <QSensorFilter> |
qmake: | QT += sensors |
Inherited By: | QAccelerometerFilter, QAltimeterFilter, QAmbientLightFilter, QAmbientTemperatureFilter, QCompassFilter, QDistanceFilter, QGyroscopeFilter, QHolsterFilter, QIRProximityFilter, QLightFilter, QMagnetometerFilter, QOrientationFilter, QPressureFilter, QProximityFilter, QRotationFilter, QTapFilter, and QTiltFilter. |
Public Functions
virtual bool | filter(QSensorReading * reading) = 0 |
Protected Functions
virtual | ~QSensorFilter() |
Detailed Description
The QSensorFilter class provides an efficient callback facility for asynchronous notifications of sensor changes.
Some sensors (eg. the accelerometer) are often accessed very frequently. This may be slowed down by the use of signals and slots. The QSensorFilter interface provides a more efficient way for the sensor to notify your class that the sensor has changed.
Additionally, multiple filters can be added to a sensor. They are called in order and each filter has the option to modify the values in the reading or to suppress the reading altogether.
Note that the values in the class returned by QSensor::reading() will not be updated until after the filters have been run.
See also filter().
Member Function Documentation
[virtual protected]
QSensorFilter::~QSensorFilter()
Notifies the attached sensor (if any) that the filter is being destroyed.
[pure virtual]
bool QSensorFilter::filter(QSensorReading * reading)
This function is called when the sensor reading changes.
The filter can modify the reading.
Returns true to allow the next filter to receive the value. If this is the last filter, returning true causes the signal to be emitted and the value is stored in the sensor.
Returns false to drop the reading.
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.