1 #ifndef GPSFIX_H 2 #define GPSFIX_H 3 4 #include <qmobilityglobal.h> 5 #include <qgeopositioninfosource.h> 6 #include <qgeosatelliteinfosource.h> 7 #include <qnmeapositioninfosource.h> 8 #include <QGeoPositionInfo> 9 10 // Use the QtMobility namespace 11 QTM_USE_NAMESPACE 12 13 class GpsFix : public QObject 14 { 15 Q_OBJECT 16 Q_PROPERTY(int updateInterval READ getUpdateInterval WRITE setUpdateInterval) 17 Q_PROPERTY(int timestamp READ getTimtstamp NOTIFY timestampChanged) 18 Q_PROPERTY(qreal latitude READ getLatitude NOTIFY latitudeChanged) 19 Q_PROPERTY(qreal longitude READ getLongitude NOTIFY longitudeChanged) 20 Q_PROPERTY(qreal speed READ getSpeed NOTIFY speedChanged) 21 Q_PROPERTY(qreal altitude READ getAltitude NOTIFY altitudeChanged) 22 Q_PROPERTY(int accuracy READ getAccuracy NOTIFY accuracyChanged) 23 Q_PROPERTY(int heading READ getHeading NOTIFY headingChanged) 24 25 public: 26 explicit GpsFix(QObject *parent = 0); 27 28 int getUpdateInterval() const; 29 getLatitude()30 qreal getLatitude() const 31 { 32 return m_latitude; 33 } 34 getLongitude()35 qreal getLongitude() const 36 { 37 return m_longitude; 38 } 39 getSpeed()40 qreal getSpeed() const 41 { 42 return m_speed; 43 } 44 getAltitude()45 qreal getAltitude() const 46 { 47 return m_altitude; 48 } 49 getAccuracy()50 int getAccuracy() const 51 { 52 return m_accuracy; 53 } 54 getHeading()55 int getHeading() const 56 { 57 return m_heading; 58 } 59 getTimtstamp()60 int getTimtstamp() const 61 { 62 return m_timestamp; 63 } 64 65 signals: 66 67 void latitudeChanged(qreal arg); 68 69 void longitudeChanged(qreal arg); 70 71 void speedChanged(qreal arg); 72 73 void altitudeChanged(qreal arg); 74 75 void accuracyChanged(int arg); 76 77 void headingChanged(int arg); 78 79 void timestampChanged(int arg); 80 81 public slots: 82 void onUpdateTimeout(); 83 void onPositionUpdated ( const QGeoPositionInfo & update ) ; 84 85 void setUpdateInterval(int arg); 86 87 private: 88 #ifdef _MOBILE 89 QGeoPositionInfoSource* src; 90 #else 91 QNmeaPositionInfoSource* src; 92 #endif 93 int m_accuracy; 94 int m_heading; 95 qreal m_latitude; 96 qreal m_longitude; 97 qreal m_speed; 98 qreal m_altitude; 99 int m_timestamp; 100 }; 101 102 #endif // GPSFIX_H 103