sensorfw
|
00001 00027 #ifndef COMPASSSENSOR_I_H 00028 #define COMPASSSENSOR_I_H 00029 00030 #include <QtDBus/QtDBus> 00031 00032 #include "abstractsensor_i.h" 00033 #include <datatypes/compass.h> 00034 00038 class CompassSensorChannelInterface : public AbstractSensorChannelInterface 00039 { 00040 Q_OBJECT 00041 Q_DISABLE_COPY(CompassSensorChannelInterface) 00042 Q_PROPERTY(Compass value READ get) 00043 Q_PROPERTY(bool usedeclination READ useDeclination WRITE setUseDeclination) 00044 Q_PROPERTY(int declinationvalue READ declinationValue) 00045 00046 public: 00050 static const char* staticInterfaceName; 00051 00059 static AbstractSensorChannelInterface* factoryMethod(const QString& id, int sessionId); 00060 00066 Compass get(); 00067 00075 bool useDeclination(); 00076 00083 void setUseDeclination(bool enable); 00084 00090 int declinationValue(); 00091 00098 CompassSensorChannelInterface(const QString& path, int sessionId); 00099 00107 static const CompassSensorChannelInterface* listenInterface(const QString& id); 00108 00116 static CompassSensorChannelInterface* controlInterface(const QString& id); 00117 00124 static CompassSensorChannelInterface* interface(const QString& id); 00125 00126 protected: 00127 virtual bool dataReceivedImpl(); 00128 00129 Q_SIGNALS: 00130 00136 void dataAvailable(const Compass& value); 00137 00138 private: 00139 00140 bool useDeclination_; 00141 }; 00142 00143 namespace local { 00144 typedef ::CompassSensorChannelInterface CompassSensor; 00145 } 00146 00147 #endif