54 QSensorBackend(QSensor *sensor); |
54 QSensorBackend(QSensor *sensor); |
55 virtual ~QSensorBackend(); |
55 virtual ~QSensorBackend(); |
56 |
56 |
57 virtual void start() = 0; |
57 virtual void start() = 0; |
58 virtual void stop() = 0; |
58 virtual void stop() = 0; |
59 virtual void poll() = 0; |
|
60 |
59 |
61 void setSupportedUpdatePolicies(QSensor::UpdatePolicies policies); |
60 // used by the backend to set metadata properties |
|
61 void addDataRate(qreal min, qreal max); |
|
62 void setDataRates(const QSensor *otherSensor); |
|
63 void addOutputRange(qreal min, qreal max, qreal accuracy); |
|
64 void setDescription(const QString &description); |
62 |
65 |
63 template <typename T> |
66 template <typename T> |
64 T *setReading(T *reading) |
67 T *setReading(T *reading) |
65 { |
68 { |
66 if (!reading) |
69 if (!reading) |
67 reading = new T(this); |
70 reading = new T(this); |
68 setReadings(reading, new T(this), new T(this)); |
71 setReadings(reading, new T(this), new T(this)); |
69 return reading; |
72 return reading; |
70 } |
73 } |
71 void newReadingAvailable(); |
|
72 |
74 |
73 QSensorReading *reading() const; |
75 QSensorReading *reading() const; |
|
76 QSensor *sensor() const { return m_sensor; } |
|
77 |
|
78 // used by the backend to inform us of events |
|
79 void newReadingAvailable(); |
|
80 void sensorStopped(); |
|
81 void sensorBusy(); |
|
82 void sensorError(int error); |
74 |
83 |
75 private: |
84 private: |
76 void setReadings(QSensorReading *device, QSensorReading *filter, QSensorReading *cache); |
85 void setReadings(QSensorReading *device, QSensorReading *filter, QSensorReading *cache); |
77 |
86 |
78 protected: |
|
79 QSensor *m_sensor; |
87 QSensor *m_sensor; |
80 Q_DISABLE_COPY(QSensorBackend) |
88 Q_DISABLE_COPY(QSensorBackend) |
81 }; |
89 }; |
82 |
90 |
83 QTM_END_NAMESPACE |
91 QTM_END_NAMESPACE |