00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef GPSPOSITIONPRIVATE_H
00023 #define GPSPOSITIONPRIVATE_H
00024
00025 #include <QPointF>
00026
00027 #include <QGeoPositionInfo>
00028 #include <QGeoPositionInfoSource>
00029 #include <QNmeaPositionInfoSource>
00030
00031 #include "gpsposition.h"
00032
00033 QTM_USE_NAMESPACE
00034
00038 class GPSPositionPrivate : public QObject
00039 {
00040 Q_OBJECT
00041
00042 public:
00048 GPSPositionPrivate(QObject *parent);
00049
00050
00051
00052
00053 public:
00059 bool isRunning();
00060
00064 QPointF lastPosition();
00065
00069 void requestLastPosition();
00070
00078 void setMode(GPSPosition::Mode mode, const QString &filePath = 0);
00079
00085 void setUpdateInterval(int interval);
00086
00090 void start();
00091
00095 void stop();
00096
00097 private:
00105 qreal accuracy(const QGeoPositionInfo &positionInfo);
00106
00107 private slots:
00108
00114 void positionUpdated(const QGeoPositionInfo &positionInfo);
00115
00121 void updateTimeout();
00122
00123
00124
00125
00126 private:
00127 QGeoPositionInfoSource *m_gpsSource;
00128 GPSPosition *m_parent;
00129 bool m_running;
00130 int m_updateInterval;
00131 };
00132
00133 const int DEFAULT_UPDATE_INTERVAL = 5000;
00134
00135 #endif // GPSPOSITIONPRIVATE_H