summaryrefslogtreecommitdiff
path: root/daemon/jskitobjects.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-01 03:12:00 +0100
committerJavier <dev.git@javispedro.com>2014-12-01 03:14:10 +0100
commitbe139d8ff95160782b424134a025b30c82083e28 (patch)
tree70cda209c44a657db3dd436afacaabe53b192838 /daemon/jskitobjects.h
parent1e3794c476caf5c41360c36cc13c8425ec0dd26c (diff)
add stub xmlhttprequest and allow showConfig event
Diffstat (limited to 'daemon/jskitobjects.h')
-rw-r--r--daemon/jskitobjects.h56
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