• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

sensors/alssensor/alssensor.h

Go to the documentation of this file.
00001 
00026 #ifndef ALS_SENSOR_CHANNEL_H
00027 #define ALS_SENSOR_CHANNEL_H
00028 
00029 #include <QObject>
00030 
00031 #include "deviceadaptor.h"
00032 #include "abstractsensor.h"
00033 #include "alssensor_a.h"
00034 #include "dataemitter.h"
00035 #include "datatypes/timedunsigned.h"
00036 #include "datatypes/unsigned.h"
00037 
00038 class Bin;
00039 template <class TYPE> class BufferReader;
00040 class FilterBase;
00041 
00042 #ifdef PROVIDE_CONTEXT_INFO
00043 #include <ContextProvider>
00044 #endif
00045 
00052 class ALSSensorChannel :
00053         public AbstractSensorChannel,
00054         public DataEmitter<TimedUnsigned>
00055 {
00056     Q_OBJECT;
00057     Q_PROPERTY(Unsigned lux READ lux);
00058 
00059 public:
00064     static AbstractSensorChannel* factoryMethod(const QString& id)
00065     {
00066         ALSSensorChannel* sc = new ALSSensorChannel(id);
00067         new ALSSensorChannelAdaptor(sc);
00068 
00069         return sc;
00070     }
00071 
00076     Unsigned lux() const { return previousValue_; }
00077 
00078 public Q_SLOTS:
00079     bool start();
00080     bool stop();
00081 
00082 signals:
00087     void ALSChanged(const Unsigned& value);
00088 
00089 protected:
00090     ALSSensorChannel(const QString& id);
00091     virtual ~ALSSensorChannel();
00092 
00093 private:
00094     TimedUnsigned                 previousValue_;
00095     Bin*                          filterBin_;
00096     Bin*                          marshallingBin_;
00097     DeviceAdaptor*                alsAdaptor_;
00098     BufferReader<TimedUnsigned>*  alsReader_;
00099     RingBuffer<TimedUnsigned>*    outputBuffer_;
00100 
00101     void emitData(const TimedUnsigned& value);
00102 
00103 #ifdef PROVIDE_CONTEXT_INFO
00104     ContextProvider::Service service;
00105     ContextProvider::Property isDarkProperty; 
00106     ContextProvider::Property isBrightProperty; 
00107     ContextProvider::Group propertyGroup;
00108 #endif
00109 };
00110 
00111 #endif // ALS_SENSOR_CHANNEL_H

Generated on Tue Jun 10 2014 06:25:09 for sensorfw by  doxygen 1.7.1