diff options
| author | Tomasz Sterna <tomek@xiaoka.com> | 2015-01-03 16:38:02 +0100 |
|---|---|---|
| committer | Tomasz Sterna <tomek@xiaoka.com> | 2015-01-03 19:07:48 +0100 |
| commit | 4e7da1944f5fa75a0739c0757d40a8102f045365 (patch) | |
| tree | 5f3fe179256536e4135eb4d5031a1d754af5e26c /daemon/jskitmanager.h | |
| parent | 4150005566bec7827ce1cdd759a2397d47eba583 (diff) | |
| parent | e6ec758b364fcaf9fda35e56740c3fcd7e8fe25e (diff) | |
Merge remote-tracking branch 'javispedro/js-testing'
Conflicts:
daemon/daemon.pro
daemon/dbusconnector.cpp
daemon/manager.cpp
daemon/watchcommands.cpp
daemon/watchcommands.h
daemon/watchconnector.cpp
daemon/watchconnector.h
log4qt-debug.conf
log4qt-release.conf
rpm/pebble.spec
rpm/pebble.yaml
Diffstat (limited to 'daemon/jskitmanager.h')
| -rw-r--r-- | daemon/jskitmanager.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/daemon/jskitmanager.h b/daemon/jskitmanager.h new file mode 100644 index 0000000..4482f34 --- /dev/null +++ b/daemon/jskitmanager.h @@ -0,0 +1,60 @@ +#ifndef JSKITMANAGER_H +#define JSKITMANAGER_H + +#include <QJSEngine> +#include "appmanager.h" +#include "appmsgmanager.h" +#include "settings.h" + +class JSKitPebble; +class JSKitConsole; +class JSKitLocalStorage; +class JSKitGeolocation; + +class JSKitManager : public QObject +{ + Q_OBJECT + QLoggingCategory l; + +public: + explicit JSKitManager(WatchConnector *watch, AppManager *apps, AppMsgManager *appmsg, Settings *settings, QObject *parent = 0); + ~JSKitManager(); + + QJSEngine * engine(); + bool isJSKitAppRunning() const; + + static QString describeError(QJSValue error); + + void showConfiguration(); + void handleWebviewClosed(const QString &result); + +signals: + void appNotification(const QUuid &uuid, const QString &title, const QString &body); + void appOpenUrl(const QUrl &url); + +private slots: + void handleAppStarted(const QUuid &uuid); + void handleAppStopped(const QUuid &uuid); + void handleAppMessage(const QUuid &uuid, const QVariantMap &msg); + +private: + bool loadJsFile(const QString &filename); + void startJsApp(); + void stopJsApp(); + +private: + friend class JSKitPebble; + + WatchConnector *_watch; + AppManager *_apps; + AppMsgManager *_appmsg; + Settings *_settings; + AppInfo _curApp; + QJSEngine *_engine; + QPointer<JSKitPebble> _jspebble; + QPointer<JSKitConsole> _jsconsole; + QPointer<JSKitLocalStorage> _jsstorage; + QPointer<JSKitGeolocation> _jsgeo; +}; + +#endif // JSKITMANAGER_H |
