diff options
Diffstat (limited to 'subsurface-core/gpslocation.h')
-rw-r--r-- | subsurface-core/gpslocation.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/subsurface-core/gpslocation.h b/subsurface-core/gpslocation.h new file mode 100644 index 000000000..55b47f07e --- /dev/null +++ b/subsurface-core/gpslocation.h @@ -0,0 +1,43 @@ +#ifndef GPSLOCATION_H +#define GPSLOCATION_H + +#include "units.h" +#include <QObject> +#include <QGeoCoordinate> +#include <QGeoPositionInfoSource> +#include <QGeoPositionInfo> +#include <QSettings> +#include <QNetworkReply> + +class GpsLocation : QObject +{ + Q_OBJECT +public: + GpsLocation(void (*showMsgCB)(const char *msg), QObject *parent); + bool applyLocations(); + int getGpsNum() const; + QString getUserid(QString user, QString passwd); + +private: + QGeoPositionInfo lastPos; + QGeoPositionInfoSource *gpsSource; + void status(QString msg); + QSettings *geoSettings; + QNetworkReply *reply; + QString userAgent; + void (*showMessageCB)(const char *msg); + +signals: + +public slots: + void serviceEnable(bool toggle); + void newPosition(QGeoPositionInfo pos); + void updateTimeout(); + void uploadToServer(); + void postError(QNetworkReply::NetworkError error); + void getUseridError(QNetworkReply::NetworkError error); + void clearGpsData(); + +}; + +#endif // GPSLOCATION_H |