summaryrefslogtreecommitdiff
path: root/rockworkd/libpebble/jskit/jskittimer.h
diff options
context:
space:
mode:
Diffstat (limited to 'rockworkd/libpebble/jskit/jskittimer.h')
-rw-r--r--rockworkd/libpebble/jskit/jskittimer.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/rockworkd/libpebble/jskit/jskittimer.h b/rockworkd/libpebble/jskit/jskittimer.h
new file mode 100644
index 0000000..50b394d
--- /dev/null
+++ b/rockworkd/libpebble/jskit/jskittimer.h
@@ -0,0 +1,31 @@
+#ifndef JSKITTIMER_P_H
+#define JSKITTIMER_P_H
+
+#include <QLoggingCategory>
+#include <QJSValue>
+#include <QJSEngine>
+
+class JSKitTimer : public QObject
+{
+ Q_OBJECT
+ QLoggingCategory l;
+
+public:
+ explicit JSKitTimer(QJSEngine *engine);
+
+ 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);
+
+protected:
+ void timerEvent(QTimerEvent *event);
+
+private:
+ QJSEngine *m_engine;
+ QHash<int, QJSValue> m_intervals;
+ QHash<int, QJSValue> m_timeouts;
+};
+
+#endif // JSKITTIMER_P_H