summaryrefslogtreecommitdiff
path: root/daemon/jskitobjects.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-05 22:56:27 +0100
committerJavier <dev.git@javispedro.com>2014-12-05 22:56:27 +0100
commite96c2ee30342b5a198025c3dd0c51bf43688d9ee (patch)
treed8f7e22795054958c5644673f063ad50146521b0 /daemon/jskitobjects.h
parent8722bee52922f8c6707103795fdf69f9ed7d0240 (diff)
partial implementation of geolocation
Diffstat (limited to 'daemon/jskitobjects.h')
-rw-r--r--daemon/jskitobjects.h20
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;