diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2015-03-11 18:00:48 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2015-03-19 18:29:42 +0000 |
commit | 767f33d8c657f194d6d2e33f87ff9fc4560b30fe (patch) | |
tree | 0e40a2eae80d45b426ca85d83955ac511ac73c36 /src/plugins/sensors/sensorfw | |
parent | 46a55f2a75b67c477c7fd0d8d706906475e7ec55 (diff) |
Diffstat (limited to 'src/plugins/sensors/sensorfw')
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp | 27 | ||||
-rw-r--r-- | src/plugins/sensors/sensorfw/sensorfwsensorbase.h | 2 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp b/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp index 7c65e137..ba37628e 100644 --- a/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp +++ b/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp @@ -65,6 +65,7 @@ SensorfwSensorBase::SensorfwSensorBase(QSensor *sensor) connect(watcher, SIGNAL(serviceUnregistered(QString)), this, SLOT(sensordUnregistered())); + connect(sensor, SIGNAL(alwaysOnChanged()),this,SLOT(standyOverrideChanged())); m_available = QDBusConnection::systemBus().interface()->isServiceRegistered("com.nokia.SensorService"); if (m_available) @@ -290,3 +291,29 @@ bool SensorfwSensorBase::initSensorInterface(QString const &name) setRanges(); return true; } + +void SensorfwSensorBase::standyOverrideChanged() +{ + m_sensorInterface->setStandbyOverride(sensor()->isAlwaysOn()); +} + +bool SensorfwSensorBase::isFeatureSupported(QSensor::Feature feature) const +{ + switch (feature) { + case QSensor::AlwaysOn: + return true; + case QSensor::AxesOrientation: + case QSensor::Buffering: + case QSensor::AccelerationMode: + case QSensor::SkipDuplicates: + case QSensor::PressureSensorTemperature: + case QSensor::GeoValues: + case QSensor::Reserved: + case QSensor::FieldOfView: + return false; + break; + }; + + return false; +} + diff --git a/src/plugins/sensors/sensorfw/sensorfwsensorbase.h b/src/plugins/sensors/sensorfw/sensorfwsensorbase.h index b5a4c996..cd12c7f0 100644 --- a/src/plugins/sensors/sensorfw/sensorfwsensorbase.h +++ b/src/plugins/sensors/sensorfw/sensorfwsensorbase.h @@ -95,6 +95,7 @@ protected: int bufferSize() const; virtual qreal correctionFactor() const; bool reinitIsNeeded; + bool isFeatureSupported(QSensor::Feature feature) const; private: bool initSensorInterface(QString const &); @@ -109,6 +110,7 @@ private: private slots: void connectToSensord(); void sensordUnregistered(); + void standyOverrideChanged(); }; #endif |