summaryrefslogtreecommitdiff
path: root/daemon/jskitobjects.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-11-30 23:25:33 +0100
committerJavier <dev.git@javispedro.com>2014-11-30 23:25:33 +0100
commit6456b840eb660fdafe21d376e07e0b67a24cd0b4 (patch)
treebb73912e587cc7c729a465d690fd2d8d2ed8e87d /daemon/jskitobjects.h
parentdadca6f0b1e4660876cccb51702998d378a5dc03 (diff)
more JSKit objects
Diffstat (limited to 'daemon/jskitobjects.h')
-rw-r--r--daemon/jskitobjects.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/daemon/jskitobjects.h b/daemon/jskitobjects.h
new file mode 100644
index 0000000..8acd76f
--- /dev/null
+++ b/daemon/jskitobjects.h
@@ -0,0 +1,48 @@
+#ifndef JSKITMANAGER_P_H
+#define JSKITMANAGER_P_H
+
+#include <QSettings>
+#include "jskitmanager.h"
+
+class JSKitPebble : public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit JSKitPebble(JSKitManager *mgr);
+
+ Q_INVOKABLE void addEventListener(const QString &event, QJSValue callback);
+private:
+ QHash<QString, QList<QJSValue>> _callbacks;
+};
+
+class JSKitLocalStorage : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(int length READ length NOTIFY lengthChanged)
+
+public:
+ explicit JSKitLocalStorage(const QUuid &uuid, JSKitManager *mgr);
+
+ int length() const;
+
+ Q_INVOKABLE QJSValue getItem(const QString &key) const;
+ Q_INVOKABLE void setItem(const QString &key, const QString &value);
+ Q_INVOKABLE void removeItem(const QString &key);
+
+ Q_INVOKABLE void clear();
+
+signals:
+ void lengthChanged();
+
+private:
+ void checkLengthChanged();
+ static QString getStorageFileFor(const QUuid &uuid);
+
+private:
+ QSettings *_storage;
+ int _len;
+};
+
+#endif // JSKITMANAGER_P_H