diff options
| author | Javier <dev.git@javispedro.com> | 2014-12-05 22:56:27 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-12-05 22:56:27 +0100 |
| commit | e96c2ee30342b5a198025c3dd0c51bf43688d9ee (patch) | |
| tree | d8f7e22795054958c5644673f063ad50146521b0 /daemon/jskitobjects.h | |
| parent | 8722bee52922f8c6707103795fdf69f9ed7d0240 (diff) | |
partial implementation of geolocation
Diffstat (limited to 'daemon/jskitobjects.h')
| -rw-r--r-- | daemon/jskitobjects.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/daemon/jskitobjects.h b/daemon/jskitobjects.h index 9c9b84e..0dccc05 100644 --- a/daemon/jskitobjects.h +++ b/daemon/jskitobjects.h @@ -98,9 +98,9 @@ public: DONE = 4 }; - Q_INVOKABLE void open(const QString &method, const QString &url, bool async); + Q_INVOKABLE void open(const QString &method, const QString &url, bool async = false); Q_INVOKABLE void setRequestHeader(const QString &header, const QString &value); - Q_INVOKABLE void send(const QString &body); + Q_INVOKABLE void send(const QString &body = QString()); Q_INVOKABLE void abort(); QJSValue onload() const; @@ -138,6 +138,7 @@ private: class JSKitGeolocation : public QObject { Q_OBJECT + Q_ENUMS(PositionError) LOG4QT_DECLARE_QCLASS_LOGGER struct Watcher; @@ -145,6 +146,12 @@ class JSKitGeolocation : public QObject public: explicit JSKitGeolocation(JSKitManager *mgr); + enum PositionError { + PERMISSION_DENIED = 1, + POSITION_UNAVAILABLE = 2, + TIMEOUT = 3 + }; + Q_INVOKABLE void getCurrentPosition(const QJSValue &successCallback, const QJSValue &errorCallback = QJSValue(), const QVariantMap &options = QVariantMap()); Q_INVOKABLE int watchPosition(const QJSValue &successCallback, const QJSValue &errorCallback = QJSValue(), const QVariantMap &options = QVariantMap()); Q_INVOKABLE void clearWatch(int watchId); @@ -155,9 +162,13 @@ private slots: void handleTimeout(); private: + uint minimumTimeout() const; int setupWatcher(const QJSValue &successCallback, const QJSValue &errorCallback, const QVariantMap &options, bool once); - void invokeSuccessCallback(Watcher &watcher, const QGeoPositionInfo &pos); - void invokeErrorCallback(Watcher &watcher); + void removeWatcher(int watchId); + QJSValue buildPositionObject(const QGeoPositionInfo &pos); + QJSValue buildPositionErrorObject(PositionError error, const QString &message = QString()); + QJSValue buildPositionErrorObject(const QGeoPositionInfoSource::Error error); + void invokeCallback(QJSValue callback, QJSValue event); private: JSKitManager *_mgr; @@ -170,7 +181,6 @@ private: bool once; bool highAccuracy; uint timeout; - uint maximumAge; }; QList<Watcher> _watches; |
