summaryrefslogtreecommitdiffstats
path: root/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp')
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp b/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp
index b85dbb0b..82302acd 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;
+}
+