Incorporated changes from bus project.
[ptas] / src / gpscontroller_p.h
1 #ifndef GPSCONTROLLER_P_H
2 #define GPSCONTROLLER_P_H
3
4 #include <QGeoPositionInfo>
5 #include <QGeoPositionInfoSource>
6
7 QTM_USE_NAMESPACE
8
9 class Location;
10
11 class GpsControllerPrivate : public QObject
12 {
13     Q_OBJECT
14
15 public:
16     GpsControllerPrivate();
17     ~GpsControllerPrivate();
18
19     virtual void init();
20     virtual void startGps();
21     virtual void stopGps();
22
23     virtual void setGps(QGeoPositionInfoSource *gps);
24     virtual void setFakeLocationLabel(const QString &label);
25     virtual void setUseFakeLocation(bool useFake);
26
27     virtual QGeoPositionInfoSource *gps();
28     virtual Location               *liveLocation();
29     virtual Location               *fakeLocation();
30     virtual Location               *mostRecentlyReportedLocation();
31     virtual QString                 fakeLocationLabel();
32     virtual bool                    useFakeLocation();
33
34 Q_SIGNALS:
35     void locationChanged(Location *newlocation);
36
37 private Q_SLOTS:
38     virtual void updateLocation(QGeoPositionInfo positionInfo);
39
40 private:
41     QGeoPositionInfoSource *m_gps;
42     Location               *m_liveLocation;
43     QString                 m_fakeLocationLabel;
44     bool                    m_useFakeLocation;
45     Location               *m_mostRecentlyReportedLocation;
46 };
47
48 #endif //GPSCONTROLLER_P_H