qtmobility/src/sensors/qsensorbackend.h
changeset 4 90517678cc4f
parent 1 2b40d63a9c3d
child 11 06b8e2af4411
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    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