6#include <QtCore/QObject>
7#include <QtWebSockets/QWebSocket>
16class CQmlWebSocket :
public QObject
19 Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged)
20 Q_PROPERTY(
bool active READ isActive WRITE setActive NOTIFY activeChanged)
21 Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged)
22 Q_PROPERTY(QString negotiatedSubprotocol READ negotiatedSubprotocol NOTIFY negotiatedSubprotocolChanged)
23 Q_PROPERTY(QStringList requestedSubprotocols READ requestedSubprotocols WRITE setRequestedSubprotocols NOTIFY requestedSubprotocolsChanged)
24 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
37 explicit CQmlWebSocket(QObject* parent =
nullptr);
40 void setUrl(
const QUrl& url);
42 bool isActive()
const;
43 void setActive(
bool isActive);
45 QString errorString()
const;
46 QString negotiatedSubprotocol()
const;
47 QStringList requestedSubprotocols()
const;
48 void setRequestedSubprotocols(
const QStringList& protocols);
50 Status status()
const;
52 Q_INVOKABLE
void sendTextMessage(
const QString& message);
53 Q_INVOKABLE
void sendBinaryMessage(
const QByteArray& message);
56 void binaryMessageReceived(
const QString& message);
57 void textMessageReceived(
const QString& message);
58 void statusChanged(Status status);
60 void errorStringChanged();
61 void negotiatedSubprotocolChanged();
62 void requestedSubprotocolsChanged();
64 void sslErrors(
const QList<QSslError>& errors);
68 void onDisconnected();
69 void onError(QAbstractSocket::SocketError error);
70 void onSslErrors(
const QList<QSslError>& errors);
77 QStringList m_requestedSubprotocols;
78 Status m_status = Closed;