summaryrefslogtreecommitdiff
path: root/navit/vehicle/qt5/vehicle_qt5.h
blob: c38c45284d55fbd35ecd6b8f01e94abe75408319 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef __vehicle_qt5_h
#define __vehicle_qt5_h

#include <config.h>
#include <string.h>
#include <glib.h>
#include <math.h>
#include <time.h>
#include "debug.h"
#include "plugin.h"
#include "coord.h"
#include "item.h"
#include "vehicle.h"

#include <QObject>
#include <QStringList>
#include <QGeoPositionInfoSource>
#include <QGeoSatelliteInfoSource>

#include "callback.h"

#include <QObject>

class QNavitGeoReceiver;
struct vehicle_priv {
	struct callback_list *cbl;
	struct coord_geo geo;
	double speed;
	double direction;
	double height;
	double radius;
	int fix_type;
	time_t fix_time;
	char fixiso8601[128];
	int sats;
	int sats_used;
	int have_coords;
	struct attr ** attrs;
        
        QGeoPositionInfoSource *source;
        QGeoSatelliteInfoSource *satellites;
        QNavitGeoReceiver * receiver;
};

class QNavitGeoReceiver : public QObject
{
        Q_OBJECT
public:
        QNavitGeoReceiver (QObject * parent, struct vehicle_priv * c);
public slots:
        void positionUpdated(const QGeoPositionInfo &info);
        void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> & satellites);
        void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> & satellites);

private:
        struct vehicle_priv * priv;
};
#endif