summaryrefslogtreecommitdiff
path: root/src/imports
diff options
context:
space:
mode:
authorSteven Ceuppens <steven.ceuppens@icloud.com>2013-09-27 14:27:27 +0200
committerKurt Pattyn <pattyn.kurt@gmail.com>2013-09-28 21:17:48 +0200
commit6e1e387174d20fb62a804b6e27438bcc5ea59f28 (patch)
tree68d5c273ea682a244398ba8d3c7fbeb4a5f76b9b /src/imports
parent315e4fa0764f8d7a568be2a8063cc33c9ec13518 (diff)
downloadqtwebsockets-6e1e387174d20fb62a804b6e27438bcc5ea59f28.tar.gz
Changes to integrate the websocket module as a full Qt Add-On module
- Changed project files to use Qt structure - Moved existing sources into subdirectory, to make room for moduels - Created a "import/qmlwebsocket" module skeleton (works, but needs to be extended) - Modified examples to not use "include(.pri)", but use "QT += websocket" - Added qml example skeleton (works, but no useful functionality yet) Project can be build with: $ qmake $ make $ make install Module can be used in other projects with QT += websockets Change-Id: I2123026958b264670dbf8a978dee76edf5855806 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/imports.pro3
-rw-r--r--src/imports/qmlwebsockets/qmldir3
-rw-r--r--src/imports/qmlwebsockets/qmlwebsockets.pro11
-rw-r--r--src/imports/qmlwebsockets/qmlwebsockets_plugin.cpp34
-rw-r--r--src/imports/qmlwebsockets/qmlwebsockets_plugin.h40
-rw-r--r--src/imports/qmlwebsockets/qqmlwebsocket.cpp35
-rw-r--r--src/imports/qmlwebsockets/qqmlwebsocket.h40
7 files changed, 166 insertions, 0 deletions
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
new file mode 100644
index 0000000..6bf8069
--- /dev/null
+++ b/src/imports/imports.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+
+SUBDIRS += qmlwebsockets
diff --git a/src/imports/qmlwebsockets/qmldir b/src/imports/qmlwebsockets/qmldir
new file mode 100644
index 0000000..549c286
--- /dev/null
+++ b/src/imports/qmlwebsockets/qmldir
@@ -0,0 +1,3 @@
+module Qt.Playground.WebSockets
+
+plugin declarative_qmlwebsockets
diff --git a/src/imports/qmlwebsockets/qmlwebsockets.pro b/src/imports/qmlwebsockets/qmlwebsockets.pro
new file mode 100644
index 0000000..fc25714
--- /dev/null
+++ b/src/imports/qmlwebsockets/qmlwebsockets.pro
@@ -0,0 +1,11 @@
+QT += websockets qml
+
+TARGETPATH = Qt/Playground/WebSockets
+
+HEADERS += qmlwebsockets_plugin.h \
+ qqmlwebsocket.h
+
+SOURCES += qmlwebsockets_plugin.cpp \
+ qqmlwebsocket.cpp
+
+load(qml_plugin)
diff --git a/src/imports/qmlwebsockets/qmlwebsockets_plugin.cpp b/src/imports/qmlwebsockets/qmlwebsockets_plugin.cpp
new file mode 100644
index 0000000..d757348
--- /dev/null
+++ b/src/imports/qmlwebsockets/qmlwebsockets_plugin.cpp
@@ -0,0 +1,34 @@
+/*
+QWebSockets implements the WebSocket protocol as defined in RFC 6455.
+Copyright (C) 2013 Kurt Pattyn (pattyn.kurt@gmail.com)
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#include "qmlwebsockets_plugin.h"
+
+#include <QtQml>
+
+void QmlWebsocket_plugin::registerTypes(const char *uri)
+{
+ Q_ASSERT(uri == QLatin1String("Qt.Playground.WebSockets"));
+
+ int major = 1;
+ int minor = 0;
+
+ // @uri Qt.Playground.WebSockets
+
+ qmlRegisterType<QQmlWebSocket>(uri, major, minor, "WebSocket");
+}
diff --git a/src/imports/qmlwebsockets/qmlwebsockets_plugin.h b/src/imports/qmlwebsockets/qmlwebsockets_plugin.h
new file mode 100644
index 0000000..cdb805f
--- /dev/null
+++ b/src/imports/qmlwebsockets/qmlwebsockets_plugin.h
@@ -0,0 +1,40 @@
+/*
+QWebSockets implements the WebSocket protocol as defined in RFC 6455.
+Copyright (C) 2013 Kurt Pattyn (pattyn.kurt@gmail.com)
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef QMLWEBSOCKET_PLUGIN_H
+#define QMLWEBSOCKET_PLUGIN_H
+
+#include <QQmlExtensionPlugin>
+
+#include "qqmlwebsocket.h"
+
+QT_BEGIN_NAMESPACE
+
+class QmlWebsocket_plugin : public QQmlExtensionPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
+
+public:
+ void registerTypes(const char *uri);
+};
+
+QT_END_NAMESPACE
+
+#endif // QMLWEBSOCKET_PLUGIN_H
diff --git a/src/imports/qmlwebsockets/qqmlwebsocket.cpp b/src/imports/qmlwebsockets/qqmlwebsocket.cpp
new file mode 100644
index 0000000..72b1810
--- /dev/null
+++ b/src/imports/qmlwebsockets/qqmlwebsocket.cpp
@@ -0,0 +1,35 @@
+/*
+QWebSockets implements the WebSocket protocol as defined in RFC 6455.
+Copyright (C) 2013 Kurt Pattyn (pattyn.kurt@gmail.com)
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#include "qqmlwebsocket.h"
+
+QQmlWebSocket::QQmlWebSocket(QObject *parent) :
+ QObject(parent)
+{
+}
+
+void QQmlWebSocket::classBegin()
+{
+
+}
+
+void QQmlWebSocket::componentComplete()
+{
+
+}
diff --git a/src/imports/qmlwebsockets/qqmlwebsocket.h b/src/imports/qmlwebsockets/qqmlwebsocket.h
new file mode 100644
index 0000000..9b95c28
--- /dev/null
+++ b/src/imports/qmlwebsockets/qqmlwebsocket.h
@@ -0,0 +1,40 @@
+/*
+QWebSockets implements the WebSocket protocol as defined in RFC 6455.
+Copyright (C) 2013 Kurt Pattyn (pattyn.kurt@gmail.com)
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef QQMLWEBSOCKET_H
+#define QQMLWEBSOCKET_H
+
+#include <QObject>
+#include <QQmlParserStatus>
+
+class QQmlWebSocket : public QObject, public QQmlParserStatus
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(QQmlWebSocket)
+ Q_INTERFACES(QQmlParserStatus)
+
+public:
+ explicit QQmlWebSocket(QObject *parent = 0);
+
+public:
+ void classBegin() Q_DECL_OVERRIDE;
+ void componentComplete() Q_DECL_OVERRIDE;
+};
+
+#endif // QQMLWEBSOCKET_H