diff options
| author | Javier <dev.git@javispedro.com> | 2014-12-01 03:12:00 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-12-01 03:14:10 +0100 |
| commit | be139d8ff95160782b424134a025b30c82083e28 (patch) | |
| tree | 70cda209c44a657db3dd436afacaabe53b192838 /daemon/jskitobjects.h | |
| parent | 1e3794c476caf5c41360c36cc13c8425ec0dd26c (diff) | |
add stub xmlhttprequest and allow showConfig event
Diffstat (limited to 'daemon/jskitobjects.h')
| -rw-r--r-- | daemon/jskitobjects.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/daemon/jskitobjects.h b/daemon/jskitobjects.h index c59bfac..1962e01 100644 --- a/daemon/jskitobjects.h +++ b/daemon/jskitobjects.h @@ -2,6 +2,8 @@ #define JSKITMANAGER_P_H #include <QSettings> +#include <QNetworkRequest> +#include <QNetworkReply> #include "jskitmanager.h" class JSKitPebble : public QObject @@ -21,6 +23,8 @@ public: Q_INVOKABLE void openUrl(const QUrl &url); + Q_INVOKABLE QJSValue createXMLHttpRequest(); + void invokeCallbacks(const QString &type, const QJSValueList &args = QJSValueList()); private: @@ -69,4 +73,56 @@ private: int _len; }; +class JSKitXMLHttpRequest : public QObject +{ + Q_OBJECT + LOG4QT_DECLARE_QCLASS_LOGGER + + Q_PROPERTY(QJSValue onload READ onload WRITE setOnload) + Q_PROPERTY(unsigned short readyState READ readyState NOTIFY readyStateChanged) + Q_PROPERTY(unsigned short status READ status NOTIFY statusChanged) + Q_PROPERTY(QString responseText READ responseText NOTIFY responseTextChanged) + +public: + explicit JSKitXMLHttpRequest(JSKitManager *mgr, QObject *parent = 0); + ~JSKitXMLHttpRequest(); + + enum ReadyStates { + UNSENT, + OPENED, + HEADERS_RECEIVED, + LOADING, + DONE + }; + + Q_INVOKABLE void open(const QString &method, const QString &url, bool async); + Q_INVOKABLE void setRequestHeader(const QString &header, const QString &value); + Q_INVOKABLE void send(const QString &body); + Q_INVOKABLE void abort(); + + QJSValue onload() const; + void setOnload(const QJSValue &value); + + unsigned short readyState() const; + unsigned short status() const; + QString responseText() const; + +signals: + void readyStateChanged(); + void statusChanged(); + void responseTextChanged(); + +private slots: + void handleReplyFinished(); + +private: + JSKitManager *_mgr; + QNetworkAccessManager *_net; + QString _verb; + QNetworkRequest _request; + QNetworkReply *_reply; + QByteArray _response; + QJSValue _onload; +}; + #endif // JSKITMANAGER_P_H |
