From 8123900781037703d54730a6032b09745c69007f Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 21 Sep 2015 23:58:29 +0200 Subject: Support JS timers Add support for set and clear Intervals and Timeouts for Javascript apps. The QT JS engine doesn't support them natively. --- daemon/jskitobjects.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'daemon/jskitobjects.h') diff --git a/daemon/jskitobjects.h b/daemon/jskitobjects.h index 43e1c30..9f5308f 100644 --- a/daemon/jskitobjects.h +++ b/daemon/jskitobjects.h @@ -19,6 +19,12 @@ public: Q_INVOKABLE void addEventListener(const QString &type, QJSValue function); Q_INVOKABLE void removeEventListener(const QString &type, QJSValue function); + Q_INVOKABLE int setInterval(QJSValue expression, int delay); + Q_INVOKABLE void clearInterval(int timerId); + + Q_INVOKABLE int setTimeout(QJSValue expression, int delay); + Q_INVOKABLE void clearTimeout(int timerId); + Q_INVOKABLE uint sendAppMessage(QJSValue message, QJSValue callbackForAck = QJSValue(), QJSValue callbackForNack = QJSValue()); Q_INVOKABLE void showSimpleNotificationOnPebble(const QString &title, const QString &body); @@ -32,6 +38,9 @@ public: void invokeCallbacks(const QString &type, const QJSValueList &args = QJSValueList()); +protected: + void timerEvent(QTimerEvent *event); + private: QJSValue buildAckEventObject(uint transaction, const QString &message = QString()) const; @@ -39,6 +48,8 @@ private: AppInfo _appInfo; JSKitManager *_mgr; QHash> _callbacks; + QHash _intervals; + QHash _timeouts; }; class JSKitConsole : public QObject -- cgit v1.2.3