sensorfw
|
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