diff options
| author | Javier <dev.git@javispedro.com> | 2014-11-30 23:25:33 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-11-30 23:25:33 +0100 |
| commit | 6456b840eb660fdafe21d376e07e0b67a24cd0b4 (patch) | |
| tree | bb73912e587cc7c729a465d690fd2d8d2ed8e87d /daemon/jskitobjects.h | |
| parent | dadca6f0b1e4660876cccb51702998d378a5dc03 (diff) | |
more JSKit objects
Diffstat (limited to 'daemon/jskitobjects.h')
| -rw-r--r-- | daemon/jskitobjects.h | 48 |
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 |
