sensorfw
adaptors/proximityadaptor/proximityadaptor.h
Go to the documentation of this file.
00001 
00029 #ifndef PROXIMITYADAPTOR_H
00030 #define PROXIMITYADAPTOR_H
00031 
00032 #include <QDBusInterface>
00033 #include "sysfsadaptor.h"
00034 #include "deviceadaptorringbuffer.h"
00035 #include "datatypes/orientationdata.h"
00036 
00037 #ifdef SENSORFW_MCE_WATCHER
00038 #include <mce/mode-names.h>
00039 #include <mce/dbus-names.h>
00040 #endif
00041 
00049 class ProximityAdaptor : public SysfsAdaptor
00050 {
00051     Q_OBJECT;
00052 public:
00053 
00054     enum DeviceType
00055     {
00056         DeviceUnknown = 0,
00057         RM680,
00058         RM696,
00059         NCDK
00060     };
00061 
00066     static DeviceAdaptor* factoryMethod(const QString& id)
00067     {
00068         return new ProximityAdaptor(id);
00069     }
00070 
00071     virtual bool startSensor();
00072 
00073     virtual void stopSensor();
00074 
00075 protected:
00080     ProximityAdaptor(const QString& id);
00081     ~ProximityAdaptor();
00082 
00083 private:
00084     DeviceAdaptorRingBuffer<ProximityData>* proximityBuffer_;
00085 
00093     void processSample(int pathId, int fd);
00094 
00095     int threshold_;
00096     ProximityAdaptor::DeviceType deviceType_;
00097     QByteArray powerStatePath_;
00098 
00099 #ifdef SENSORFW_MCE_WATCHER
00100     QDBusInterface *dbusIfc_;
00101 #endif
00102 
00103 };
00104 
00105 #endif