From be139d8ff95160782b424134a025b30c82083e28 Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 1 Dec 2014 03:12:00 +0100 Subject: add stub xmlhttprequest and allow showConfig event --- daemon/jskitobjects.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'daemon/jskitobjects.h') 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 +#include +#include #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 -- cgit v1.2.3