sensorfw
lidsensor.h
Go to the documentation of this file.
1 
26 #ifndef LID_SENSOR_CHANNEL_H
27 #define LID_SENSOR_CHANNEL_H
28 
29 #include <QObject>
30 
31 #include "deviceadaptor.h"
32 #include "abstractsensor.h"
33 #include "lidsensor_a.h"
34 #include "dataemitter.h"
35 #include "datatypes/liddata.h"
36 #include "datatypes/lid.h"
37 class Bin;
38 template <class TYPE> class BufferReader;
39 class FilterBase;
40 
41 
49  public AbstractSensorChannel,
50  public DataEmitter<LidData>
51 {
52  Q_OBJECT
53  Q_PROPERTY(LidData closed READ closed)
54 
55 public:
60  static AbstractSensorChannel* factoryMethod(const QString& id)
61  {
62  LidSensorChannel* sc = new LidSensorChannel(id);
64 
65  return sc;
66  }
67 
72  LidData closed() const { return previousValue_; }
73 
74 public Q_SLOTS:
75  bool start();
76  bool stop();
77 
78 signals:
83  void lidChanged(const Lid& value);
84 
85 protected:
86  LidSensorChannel(const QString& id);
87  virtual ~LidSensorChannel();
88 
89 private:
90  LidData previousValue_;
91  Bin* filterBin_;
92  Bin* marshallingBin_;
93  DeviceAdaptor* lidAdaptor_;
94  BufferReader<LidData>* lidReader_;
95  RingBuffer<LidData>* outputBuffer_;
96 
97  void emitData(const LidData& value);
98 
99 };
100 
101 #endif // LID_SENSOR_CHANNEL_H
LidSensorChannel::~LidSensorChannel
virtual ~LidSensorChannel()
LidSensorChannelAdaptor
Definition: lidsensor_a.h:36
LidSensorChannel::closed
LidData closed() const
Property for accessing the measured value.
Definition: lidsensor.h:72
LidSensorChannel::lidChanged
void lidChanged(const Lid &value)
Sent when a change in measured data is observed.
liddata.h
Datatype for device tap events.
LidSensorChannel
Sensor for accessing the internal ambient light sensor measurements.
Definition: lidsensor.h:51
lidsensor_a.h
D-Bus adaptor for LidSensor.
Lid
QObject facade for LidData.
Definition: lid.h:37
LidSensorChannel::stop
bool stop()
LidSensorChannel::factoryMethod
static AbstractSensorChannel * factoryMethod(const QString &id)
Factory method for LidSensorChannel.
Definition: lidsensor.h:60
LidSensorChannel::start
bool start()
LidSensorChannel::LidSensorChannel
LidSensorChannel(const QString &id)
LidSensorChannel::closed
LidData closed
Definition: lidsensor.h:53
LidData
Datatype for device lid events.
Definition: liddata.h:36
BufferReader
Definition: accelerometersensor.h:38
lid.h
QObject based datatype for LidData.