summaryrefslogtreecommitdiff
path: root/src
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
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')
-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
-rw-r--r--src/qwebsockets.pro10
-rw-r--r--src/src.pro4
-rw-r--r--src/websockets/dataprocessor_p.cpp (renamed from src/dataprocessor_p.cpp)0
-rw-r--r--src/websockets/dataprocessor_p.h (renamed from src/dataprocessor_p.h)0
-rw-r--r--src/websockets/doc/qwebsockets.qdoc (renamed from src/doc/qwebsockets.qdoc)0
-rw-r--r--src/websockets/doc/qwebsockets.qdocconfig (renamed from src/doc/qwebsockets.qdocconfig)0
-rw-r--r--src/websockets/handshakerequest_p.cpp (renamed from src/handshakerequest_p.cpp)0
-rw-r--r--src/websockets/handshakerequest_p.h (renamed from src/handshakerequest_p.h)0
-rw-r--r--src/websockets/handshakeresponse_p.cpp (renamed from src/handshakeresponse_p.cpp)0
-rw-r--r--src/websockets/handshakeresponse_p.h (renamed from src/handshakeresponse_p.h)0
-rw-r--r--src/websockets/qcorsauthenticator.cpp (renamed from src/qcorsauthenticator.cpp)0
-rw-r--r--src/websockets/qcorsauthenticator.h (renamed from src/qcorsauthenticator.h)0
-rw-r--r--src/websockets/qcorsauthenticator_p.h (renamed from src/qcorsauthenticator_p.h)0
-rw-r--r--src/websockets/qwebsocket.cpp (renamed from src/qwebsocket.cpp)0
-rw-r--r--src/websockets/qwebsocket.h (renamed from src/qwebsocket.h)0
-rw-r--r--src/websockets/qwebsocket_p.cpp (renamed from src/qwebsocket_p.cpp)0
-rw-r--r--src/websockets/qwebsocket_p.h (renamed from src/qwebsocket_p.h)0
-rw-r--r--src/websockets/qwebsocketprotocol.cpp (renamed from src/qwebsocketprotocol.cpp)0
-rw-r--r--src/websockets/qwebsocketprotocol.h (renamed from src/qwebsocketprotocol.h)0
-rw-r--r--src/websockets/qwebsocketserver.cpp (renamed from src/qwebsocketserver.cpp)0
-rw-r--r--src/websockets/qwebsocketserver.h (renamed from src/qwebsocketserver.h)0
-rw-r--r--src/websockets/qwebsocketserver_p.cpp (renamed from src/qwebsocketserver_p.cpp)0
-rw-r--r--src/websockets/qwebsocketserver_p.h (renamed from src/qwebsocketserver_p.h)0
-rw-r--r--src/websockets/qwebsocketsglobal.h (renamed from src/qwebsocketsglobal.h)0
-rw-r--r--src/websockets/websockets.pro (renamed from src/qwebsockets.pri)47
32 files changed, 201 insertions, 26 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
diff --git a/src/qwebsockets.pro b/src/qwebsockets.pro
deleted file mode 100644
index 0480ec3..0000000
--- a/src/qwebsockets.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-QMAKE_DOCS = $$PWD/doc/qwebsockets.qdocconfig
-
-include($$PWD/qwebsockets.pri)
-
-TEMPLATE = lib
-VERSION = 0.9
-TARGET = QWebSockets
-
-mac:QMAKE_FRAMEWORK_BUNDLE_NAME = $$TARGET
-mac:QMAKE_CXXFLAGS += -Wall -Werror -Wextra
diff --git a/src/src.pro b/src/src.pro
index e975a6b..759b5ba 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1 +1,3 @@
-include ($$PWD/qwebsockets.pro)
+TEMPLATE = subdirs
+
+SUBDIRS += websockets imports
diff --git a/src/dataprocessor_p.cpp b/src/websockets/dataprocessor_p.cpp
index f666ab3..f666ab3 100644
--- a/src/dataprocessor_p.cpp
+++ b/src/websockets/dataprocessor_p.cpp
diff --git a/src/dataprocessor_p.h b/src/websockets/dataprocessor_p.h
index d2d1dcb..d2d1dcb 100644
--- a/src/dataprocessor_p.h
+++ b/src/websockets/dataprocessor_p.h
diff --git a/src/doc/qwebsockets.qdoc b/src/websockets/doc/qwebsockets.qdoc
index 49bc0f0..49bc0f0 100644
--- a/src/doc/qwebsockets.qdoc
+++ b/src/websockets/doc/qwebsockets.qdoc
diff --git a/src/doc/qwebsockets.qdocconfig b/src/websockets/doc/qwebsockets.qdocconfig
index c707458..c707458 100644
--- a/src/doc/qwebsockets.qdocconfig
+++ b/src/websockets/doc/qwebsockets.qdocconfig
diff --git a/src/handshakerequest_p.cpp b/src/websockets/handshakerequest_p.cpp
index 5243a6e..5243a6e 100644
--- a/src/handshakerequest_p.cpp
+++ b/src/websockets/handshakerequest_p.cpp
diff --git a/src/handshakerequest_p.h b/src/websockets/handshakerequest_p.h
index c2cc154..c2cc154 100644
--- a/src/handshakerequest_p.h
+++ b/src/websockets/handshakerequest_p.h
diff --git a/src/handshakeresponse_p.cpp b/src/websockets/handshakeresponse_p.cpp
index c59b875..c59b875 100644
--- a/src/handshakeresponse_p.cpp
+++ b/src/websockets/handshakeresponse_p.cpp
diff --git a/src/handshakeresponse_p.h b/src/websockets/handshakeresponse_p.h
index 7b1179b..7b1179b 100644
--- a/src/handshakeresponse_p.h
+++ b/src/websockets/handshakeresponse_p.h
diff --git a/src/qcorsauthenticator.cpp b/src/websockets/qcorsauthenticator.cpp
index 5c7e581..5c7e581 100644
--- a/src/qcorsauthenticator.cpp
+++ b/src/websockets/qcorsauthenticator.cpp
diff --git a/src/qcorsauthenticator.h b/src/websockets/qcorsauthenticator.h
index acf997a..acf997a 100644
--- a/src/qcorsauthenticator.h
+++ b/src/websockets/qcorsauthenticator.h
diff --git a/src/qcorsauthenticator_p.h b/src/websockets/qcorsauthenticator_p.h
index ee218dc..ee218dc 100644
--- a/src/qcorsauthenticator_p.h
+++ b/src/websockets/qcorsauthenticator_p.h
diff --git a/src/qwebsocket.cpp b/src/websockets/qwebsocket.cpp
index b92b061..b92b061 100644
--- a/src/qwebsocket.cpp
+++ b/src/websockets/qwebsocket.cpp
diff --git a/src/qwebsocket.h b/src/websockets/qwebsocket.h
index cffc87d..cffc87d 100644
--- a/src/qwebsocket.h
+++ b/src/websockets/qwebsocket.h
diff --git a/src/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index 054034c..054034c 100644
--- a/src/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
diff --git a/src/qwebsocket_p.h b/src/websockets/qwebsocket_p.h
index e4cd657..e4cd657 100644
--- a/src/qwebsocket_p.h
+++ b/src/websockets/qwebsocket_p.h
diff --git a/src/qwebsocketprotocol.cpp b/src/websockets/qwebsocketprotocol.cpp
index 4e02cd5..4e02cd5 100644
--- a/src/qwebsocketprotocol.cpp
+++ b/src/websockets/qwebsocketprotocol.cpp
diff --git a/src/qwebsocketprotocol.h b/src/websockets/qwebsocketprotocol.h
index 2d1bea3..2d1bea3 100644
--- a/src/qwebsocketprotocol.h
+++ b/src/websockets/qwebsocketprotocol.h
diff --git a/src/qwebsocketserver.cpp b/src/websockets/qwebsocketserver.cpp
index 03c0ec2..03c0ec2 100644
--- a/src/qwebsocketserver.cpp
+++ b/src/websockets/qwebsocketserver.cpp
diff --git a/src/qwebsocketserver.h b/src/websockets/qwebsocketserver.h
index 6579b53..6579b53 100644
--- a/src/qwebsocketserver.h
+++ b/src/websockets/qwebsocketserver.h
diff --git a/src/qwebsocketserver_p.cpp b/src/websockets/qwebsocketserver_p.cpp
index 8e4bc7b..8e4bc7b 100644
--- a/src/qwebsocketserver_p.cpp
+++ b/src/websockets/qwebsocketserver_p.cpp
diff --git a/src/qwebsocketserver_p.h b/src/websockets/qwebsocketserver_p.h
index 081ecec..081ecec 100644
--- a/src/qwebsocketserver_p.h
+++ b/src/websockets/qwebsocketserver_p.h
diff --git a/src/qwebsocketsglobal.h b/src/websockets/qwebsocketsglobal.h
index e7eb583..e7eb583 100644
--- a/src/qwebsocketsglobal.h
+++ b/src/websockets/qwebsocketsglobal.h
diff --git a/src/qwebsockets.pri b/src/websockets/websockets.pro
index c701c93..69ddc9c 100644
--- a/src/qwebsockets.pri
+++ b/src/websockets/websockets.pro
@@ -1,4 +1,29 @@
-QT *= network
+QT += network
+
+TARGET = QtWebSockets
+
+TEMPLATE += lib
+
+DEFINES += QTWEBSOCKETS_LIBRARY
+
+load(qt_module)
+
+QMAKE_DOCS = $$PWD/doc/qwebsockets.qdocconfig
+
+PUBLIC_HEADERS += \
+ $$PWD/qwebsocket.h \
+ $$PWD/qwebsocketserver.h \
+ $$PWD/qwebsocketprotocol.h \
+ $$PWD/qwebsocketsglobal.h \
+ $$PWD/qcorsauthenticator.h
+
+PRIVATE_HEADERS += \
+ $$PWD/qwebsocket_p.h \
+ $$PWD/qwebsocketserver_p.h \
+ $$PWD/handshakerequest_p.h \
+ $$PWD/handshakeresponse_p.h \
+ $$PWD/dataprocessor_p.h \
+ $$PWD/qcorsauthenticator_p.h
SOURCES += \
$$PWD/qwebsocket.cpp \
@@ -11,18 +36,10 @@ SOURCES += \
$$PWD/dataprocessor_p.cpp \
$$PWD/qcorsauthenticator.cpp
-HEADERS += \
- $$PWD/qwebsocket.h \
- $$PWD/qwebsocket_p.h \
- $$PWD/qwebsocketserver.h \
- $$PWD/qwebsocketserver_p.h \
- $$PWD/qwebsocketprotocol.h \
- $$PWD/handshakerequest_p.h \
- $$PWD/handshakeresponse_p.h \
- $$PWD/dataprocessor_p.h \
- $$PWD/qwebsocketsglobal.h \
- $$PWD/qcorsauthenticator.h \
- qcorsauthenticator_p.h
+HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS
+
+#mac:QMAKE_FRAMEWORK_BUNDLE_NAME = $$TARGET
+#mac:QMAKE_CXXFLAGS += -Wall -Werror -Wextra
+
+
-INCLUDEPATH += $$PWD
-DEPENDPATH += $$PWD