diff options
author | Steven Ceuppens <steven.ceuppens@icloud.com> | 2013-09-27 14:27:27 +0200 |
---|---|---|
committer | Kurt Pattyn <pattyn.kurt@gmail.com> | 2013-09-28 21:17:48 +0200 |
commit | 6e1e387174d20fb62a804b6e27438bcc5ea59f28 (patch) | |
tree | 68d5c273ea682a244398ba8d3c7fbeb4a5f76b9b /src | |
parent | 315e4fa0764f8d7a568be2a8063cc33c9ec13518 (diff) | |
download | qtwebsockets-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.pro | 3 | ||||
-rw-r--r-- | src/imports/qmlwebsockets/qmldir | 3 | ||||
-rw-r--r-- | src/imports/qmlwebsockets/qmlwebsockets.pro | 11 | ||||
-rw-r--r-- | src/imports/qmlwebsockets/qmlwebsockets_plugin.cpp | 34 | ||||
-rw-r--r-- | src/imports/qmlwebsockets/qmlwebsockets_plugin.h | 40 | ||||
-rw-r--r-- | src/imports/qmlwebsockets/qqmlwebsocket.cpp | 35 | ||||
-rw-r--r-- | src/imports/qmlwebsockets/qqmlwebsocket.h | 40 | ||||
-rw-r--r-- | src/qwebsockets.pro | 10 | ||||
-rw-r--r-- | src/src.pro | 4 | ||||
-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 |