QWebChannelAbstractTransport Class

Communication channel between the C++ QWebChannel server and a HTML/JS client. More...

Header: #include <QWebChannelAbstractTransport>
qmake: QT += webchannel
Inherits: QObject

Public Functions

QWebChannelAbstractTransport(QObject *parent = nullptr)
virtual ~QWebChannelAbstractTransport() override

Public Slots

virtual void sendMessage(const QJsonObject &message) = 0


void messageReceived(const QJsonObject &message, QWebChannelAbstractTransport *transport)

Detailed Description

Users of the QWebChannel must implement this interface and connect instances of it to the QWebChannel server for every client that should be connected to the QWebChannel. The Qt WebChannel Standalone Example shows how this can be done using Qt WebSockets.

Note: The JSON message protocol is considered internal and might change over time.

See also Qt WebChannel Standalone Example.

Member Function Documentation

[explicit] QWebChannelAbstractTransport::QWebChannelAbstractTransport(QObject *parent = nullptr)

Constructs a transport object with the given parent.

[override virtual noexcept] QWebChannelAbstractTransport::~QWebChannelAbstractTransport()

Destroys the transport object.

[signal] void QWebChannelAbstractTransport::messageReceived(const QJsonObject &message, QWebChannelAbstractTransport *transport)

This signal must be emitted when a new JSON message was received from the remote client. The transport argument should be set to this transport object.

[pure virtual slot] void QWebChannelAbstractTransport::sendMessage(const QJsonObject &message)

Sends a JSON message to the remote client. An implementation would serialize the message and transmit it to the remote JavaScript client.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.