diff options
author | Lincoln Ramsay <lincoln.ramsay@nokia.com> | 2011-12-20 11:05:30 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-11 03:20:40 +0100 |
commit | f9672df5ea9872f911eb0011012f829309e11e71 (patch) | |
tree | 379b89d2598cde56b8dc6bd1493db8493b1bb8b5 | |
parent | 43071ca54cb41fa06e850e75ae282fcd8824356c (diff) | |
download | qtsensors-f9672df5ea9872f911eb0011012f829309e11e71.tar.gz |
Implement an API for alwaysOn.
Change-Id: If530fed02979ad9c4608f317b718ee449bb25ddc
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Zsolt Simon <zsolt.simon@nokia.com>
-rw-r--r-- | src/sensors/qsensor.cpp | 17 | ||||
-rw-r--r-- | src/sensors/qsensor.h | 4 | ||||
-rw-r--r-- | src/sensors/qsensor_p.h | 3 | ||||
-rw-r--r-- | tests/auto/qsensor/tst_qsensor.cpp | 10 |
4 files changed, 34 insertions, 0 deletions
diff --git a/src/sensors/qsensor.cpp b/src/sensors/qsensor.cpp index 3982079..9dc11d1 100644 --- a/src/sensors/qsensor.cpp +++ b/src/sensors/qsensor.cpp @@ -341,6 +341,23 @@ bool QSensor::isActive() const } /*! + \property QSensor::alwaysOn + \brief a value to indicate if the sensor should remain running when the screen is off. + + Some platforms have a policy of suspending sensors when the screen turns off. + Setting this property to true will ensure the sensor continues to run. +*/ +void QSensor::setAlwaysOn(bool alwaysOn) +{ + d->alwaysOn = alwaysOn; +} + +bool QSensor::isAlwaysOn() const +{ + return d->alwaysOn; +} + +/*! \property QSensor::availableDataRates \brief the data rates that the sensor supports. diff --git a/src/sensors/qsensor.h b/src/sensors/qsensor.h index aca95ce..08bb0a7 100644 --- a/src/sensors/qsensor.h +++ b/src/sensors/qsensor.h @@ -89,6 +89,7 @@ class Q_SENSORS_EXPORT QSensor : public QObject Q_PROPERTY(int outputRange READ outputRange WRITE setOutputRange) Q_PROPERTY(QString description READ description) Q_PROPERTY(int error READ error NOTIFY sensorError) + Q_PROPERTY(bool alwaysOn READ isAlwaysOn WRITE setAlwaysOn) #ifdef Q_QDOC Q_PROPERTY(int maxBufferSize) Q_PROPERTY(int efficientBufferSize) @@ -111,6 +112,9 @@ public: void setActive(bool active); bool isActive() const; + bool isAlwaysOn() const; + void setAlwaysOn(bool alwaysOn); + qrangelist availableDataRates() const; int dataRate() const; void setDataRate(int rate); diff --git a/src/sensors/qsensor_p.h b/src/sensors/qsensor_p.h index e87f10c..d087672 100644 --- a/src/sensors/qsensor_p.h +++ b/src/sensors/qsensor_p.h @@ -75,6 +75,7 @@ public: , filter_reading(0) , cache_reading(0) , error(0) + , alwaysOn(false) { } @@ -100,6 +101,8 @@ public: QSensorReading *cache_reading; int error; + + bool alwaysOn; }; class QSensorReadingPrivate diff --git a/tests/auto/qsensor/tst_qsensor.cpp b/tests/auto/qsensor/tst_qsensor.cpp index f378b89..f56baad 100644 --- a/tests/auto/qsensor/tst_qsensor.cpp +++ b/tests/auto/qsensor/tst_qsensor.cpp @@ -810,6 +810,16 @@ private slots: QVERIFY(!sensor.isActive()); } + void testAlwaysOn() + { + TestSensor sensor; + QCOMPARE(sensor.isAlwaysOn(), false); + sensor.setAlwaysOn(true); + QCOMPARE(sensor.isAlwaysOn(), true); + sensor.setAlwaysOn(false); + QCOMPARE(sensor.isAlwaysOn(), false); + } + void testIsRegistered() { bool expected; |