sensorfw
|
00001 00028 #ifndef MAGNETOMETERSENSOR_I_H 00029 #define MAGNETOMETERSENSOR_I_H 00030 00031 #include <QtDBus/QtDBus> 00032 #include <QVector> 00033 00034 #include "abstractsensor_i.h" 00035 #include <datatypes/magneticfield.h> 00036 00040 class MagnetometerSensorChannelInterface : public AbstractSensorChannelInterface 00041 { 00042 Q_OBJECT 00043 Q_DISABLE_COPY(MagnetometerSensorChannelInterface) 00044 Q_PROPERTY(MagneticField magneticField READ magneticField) 00045 00046 public: 00050 static const char* staticInterfaceName; 00051 00059 static AbstractSensorChannelInterface* factoryMethod(const QString& id, int sessionId); 00060 00066 MagneticField magneticField(); 00067 00074 MagnetometerSensorChannelInterface(const QString& path, int sessionId); 00075 00083 static const MagnetometerSensorChannelInterface* listenInterface(const QString& id); 00084 00092 static MagnetometerSensorChannelInterface* controlInterface(const QString& id); 00093 00100 static MagnetometerSensorChannelInterface* interface(const QString& id); 00101 00102 protected: 00103 virtual void connectNotify(const char* signal); 00104 virtual bool dataReceivedImpl(); 00105 00106 private: 00107 bool frameAvailableConnected; 00109 public Q_SLOTS: 00115 QDBusReply<void> reset(); 00116 00117 Q_SIGNALS: 00123 void dataAvailable(const MagneticField& data); 00124 00132 void frameAvailable(const QVector<MagneticField>& frame); 00133 }; 00134 00135 namespace local { 00136 typedef ::MagnetometerSensorChannelInterface MagnetometerSensor; 00137 } 00138 00139 #endif /* MAGNETOMETERSENSOR_I_H */