--- a/qtmobility/plugins/sensors/maemo6/maemo6sensorbase.h Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/plugins/sensors/maemo6/maemo6sensorbase.h Wed Jun 23 19:08:38 2010 +0300
@@ -46,6 +46,7 @@
#include <sensormanagerinterface.h>
#include <abstractsensor_i.h>
+
QTM_USE_NAMESPACE
class maemo6sensorbase : public QSensorBackend
@@ -54,27 +55,34 @@
maemo6sensorbase(QSensor *sensor);
virtual ~maemo6sensorbase();
- virtual void start();
- virtual void stop();
protected:
- static SensorManagerInterface* m_remoteSensorManager;
+ virtual void start();
+ virtual void stop();
AbstractSensorChannelInterface* m_sensorInterface;
- bool m_sensorRunning;
static const float GRAVITY_EARTH;
static const float GRAVITY_EARTH_THOUSANDTH; //for speed
template<typename T>
- void initSensor(QString sensorName)
+ void initSensor(QString sensorName, bool &initDone)
{
- m_remoteSensorManager->loadPlugin(sensorName);
- m_remoteSensorManager->registerSensorInterface<T>(sensorName);
+
+ if (!initDone) {
+ m_remoteSensorManager->loadPlugin(sensorName);
+ m_remoteSensorManager->registerSensorInterface<T>(sensorName);
+ }
m_sensorInterface = T::controlInterface(sensorName);
if (!m_sensorInterface) {
m_sensorInterface = const_cast<T*>(T::listenInterface(sensorName));
+
}
- }
+ initDone = true;
+ };
+
+private:
+ static SensorManagerInterface* m_remoteSensorManager;
+
};
#endif