summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorØystein Heskestad <oystein.heskestad@qt.io>2022-07-19 10:29:48 +0200
committerØystein Heskestad <oystein.heskestad@qt.io>2022-08-03 15:52:27 +0200
commit55cef3a13c8377c55b2fe050751c8a05eb7f9fce (patch)
tree6c7e07633931d9fc0179dcfc9fb8cf7afebfbdc9 /src
parent398bdb6a318270c9614a56433c273fe62a2bf908 (diff)
downloadqtwebsockets-55cef3a13c8377c55b2fe050751c8a05eb7f9fce.tar.gz
Replace QWebSocket::error signal with QWebSocket::errorOccurred
The signal error(QAbstractSocket::SocketError) is deprecated because it overloads the function error() and the naming does not match other similar signals. Fixes: QTBUG-101756 Change-Id: Ifbddef73ea39b03a6c72b0e09caa2031135d7687 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/imports/qmlwebsockets/qqmlwebsocket.cpp3
-rw-r--r--src/websockets/qwebsocket.cpp33
-rw-r--r--src/websockets/qwebsocket.h4
-rw-r--r--src/websockets/qwebsocket_p.cpp50
-rw-r--r--src/websockets/qwebsocket_p.h1
-rw-r--r--src/websockets/qwebsocket_wasm_p.cpp11
6 files changed, 62 insertions, 40 deletions
diff --git a/src/imports/qmlwebsockets/qqmlwebsocket.cpp b/src/imports/qmlwebsockets/qqmlwebsocket.cpp
index a353595..c5685f6 100644
--- a/src/imports/qmlwebsockets/qqmlwebsocket.cpp
+++ b/src/imports/qmlwebsockets/qqmlwebsocket.cpp
@@ -219,8 +219,7 @@ void QQmlWebSocket::setSocket(QWebSocket *socket)
this, &QQmlWebSocket::textMessageReceived);
connect(m_webSocket.data(), &QWebSocket::binaryMessageReceived,
this, &QQmlWebSocket::binaryMessageReceived);
- typedef void (QWebSocket::* ErrorSignal)(QAbstractSocket::SocketError);
- connect(m_webSocket.data(), static_cast<ErrorSignal>(&QWebSocket::error),
+ connect(m_webSocket.data(), &QWebSocket::errorOccurred,
this, &QQmlWebSocket::onError);
connect(m_webSocket.data(), &QWebSocket::stateChanged,
this, &QQmlWebSocket::onStateChanged);
diff --git a/src/websockets/qwebsocket.cpp b/src/websockets/qwebsocket.cpp
index 9cb58e3..3d96907 100644
--- a/src/websockets/qwebsocket.cpp
+++ b/src/websockets/qwebsocket.cpp
@@ -172,18 +172,6 @@ not been filled in with new information when the signal returns.
\sa textMessageReceived()
*/
/*!
- \fn void QWebSocket::error(QAbstractSocket::SocketError error);
-
- This signal is emitted after an error occurred. The \a error
- parameter describes the type of error that occurred.
-
- QAbstractSocket::SocketError is not a registered metatype, so for queued
- connections, you will have to register it with Q_DECLARE_METATYPE() and
- qRegisterMetaType().
-
- \sa error(), errorString()
-*/
-/*!
\fn void QWebSocket::sslErrors(const QList<QSslError> &errors)
QWebSocket emits this signal after the SSL handshake to indicate that one or more errors have
occurred while establishing the identity of the peer.
@@ -996,4 +984,25 @@ quint64 QWebSocket::maxOutgoingFrameSize()
return QWebSocketPrivate::maxOutgoingFrameSize();
}
+/*!
+ \fn void QWebSocket::errorOccurred(QAbstractSocket::SocketError error);
+
+ \since 6.5
+ \brief This signal is emitted after an error occurred.
+
+ The \a error parameter describes the type of error that occurred.
+
+ QAbstractSocket::SocketError is not a registered metatype, so for queued
+ connections, you will have to register it with Q_DECLARE_METATYPE() and
+ qRegisterMetaType().
+
+ \sa error(), errorString()
+*/
+#if QT_DEPRECATED_SINCE(6, 5)
+/*!
+ \fn void QWebSocket::error(QAbstractSocket::SocketError error);
+ \deprecated [6.5] Use errorOccurred(QAbstractSocket::SocketError error) instead.
+*/
+#endif
+
QT_END_NAMESPACE
diff --git a/src/websockets/qwebsocket.h b/src/websockets/qwebsocket.h
index 5c28127..5cc6131 100644
--- a/src/websockets/qwebsocket.h
+++ b/src/websockets/qwebsocket.h
@@ -123,7 +123,11 @@ Q_SIGNALS:
void binaryFrameReceived(const QByteArray &frame, bool isLastFrame);
void textMessageReceived(const QString &message);
void binaryMessageReceived(const QByteArray &message);
+#if QT_DEPRECATED_SINCE(6, 5)
+ QT_DEPRECATED_VERSION_X_6_5("Use errorOccurred instead")
void error(QAbstractSocket::SocketError error);
+#endif
+ void errorOccurred(QAbstractSocket::SocketError error);
void pong(quint64 elapsedTime, const QByteArray &payload);
void bytesWritten(qint64 bytes);
diff --git a/src/websockets/qwebsocket_p.cpp b/src/websockets/qwebsocket_p.cpp
index e43a701..b806229 100644
--- a/src/websockets/qwebsocket_p.cpp
+++ b/src/websockets/qwebsocket_p.cpp
@@ -405,7 +405,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
QUrl url = request.url();
if (!url.isValid() || url.toString().contains(QStringLiteral("\r\n"))) {
setErrorString(QWebSocket::tr("Invalid URL."));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
if (m_pSocket) {
@@ -425,7 +425,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
if (resourceName.contains(QStringLiteral("%0D%0A"))) {
setRequest(QNetworkRequest()); //clear request
setErrorString(QWebSocket::tr("Invalid resource name."));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
if (!url.query().isEmpty()) {
@@ -445,7 +445,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
const QString message =
QWebSocket::tr("SSL Sockets are not supported on this platform.");
setErrorString(message);
- Q_EMIT q->error(QAbstractSocket::UnsupportedSocketOperationError);
+ emitErrorOccurred(QAbstractSocket::UnsupportedSocketOperationError);
} else {
QSslSocket *sslSocket = new QSslSocket(q);
m_pSocket = sslSocket;
@@ -473,7 +473,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
} else {
const QString message = QWebSocket::tr("Out of memory.");
setErrorString(message);
- Q_EMIT q->error(QAbstractSocket::SocketResourceError);
+ emitErrorOccurred(QAbstractSocket::SocketResourceError);
}
}
} else
@@ -498,13 +498,13 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
} else {
const QString message = QWebSocket::tr("Out of memory.");
setErrorString(message);
- Q_EMIT q->error(QAbstractSocket::SocketResourceError);
+ emitErrorOccurred(QAbstractSocket::SocketResourceError);
}
} else {
const QString message =
QWebSocket::tr("Unsupported WebSocket scheme: %1").arg(url.scheme());
setErrorString(message);
- Q_EMIT q->error(QAbstractSocket::UnsupportedSocketOperationError);
+ emitErrorOccurred(QAbstractSocket::UnsupportedSocketOperationError);
}
}
}
@@ -610,8 +610,8 @@ void QWebSocketPrivate::makeConnections(QTcpSocket *pTcpSocket)
if (Q_LIKELY(pTcpSocket)) {
//pass through signals
- QObject::connect(pTcpSocket, &QAbstractSocket::errorOccurred,
- q, QOverload<QAbstractSocket::SocketError>::of(&QWebSocket::error));
+ QObjectPrivate::connect(pTcpSocket, &QAbstractSocket::errorOccurred, this,
+ &QWebSocketPrivate::emitErrorOccurred);
#ifndef QT_NO_NETWORKPROXY
QObject::connect(pTcpSocket, &QAbstractSocket::proxyAuthenticationRequired, q,
&QWebSocket::proxyAuthenticationRequired);
@@ -770,7 +770,6 @@ QByteArray QWebSocketPrivate::getFrameHeader(QWebSocketProtocol::OpCode opCode,
quint64 payloadLength, quint32 maskingKey,
bool lastFrame)
{
- Q_Q(QWebSocket);
QByteArray header;
bool ok = payloadLength <= 0x7FFFFFFFFFFFFFFFULL;
@@ -804,7 +803,7 @@ QByteArray QWebSocketPrivate::getFrameHeader(QWebSocketProtocol::OpCode opCode,
}
} else {
setErrorString(QStringLiteral("WebSocket::getHeader: payload too big!"));
- Q_EMIT q->error(QAbstractSocket::DatagramTooLargeError);
+ emitErrorOccurred(QAbstractSocket::DatagramTooLargeError);
}
return header;
@@ -819,7 +818,6 @@ qint64 QWebSocketPrivate::doWriteFrames(const QByteArray &data, bool isBinary)
if (Q_UNLIKELY(!m_pSocket) || (state() != QAbstractSocket::ConnectedState))
return payloadWritten;
- Q_Q(QWebSocket);
const QWebSocketProtocol::OpCode firstOpCode = isBinary ?
QWebSocketProtocol::OpCodeBinary : QWebSocketProtocol::OpCodeText;
@@ -865,7 +863,7 @@ qint64 QWebSocketPrivate::doWriteFrames(const QByteArray &data, bool isBinary)
m_pSocket->flush();
setErrorString(QWebSocket::tr("Error writing bytes to socket: %1.")
.arg(m_pSocket->errorString()));
- Q_EMIT q->error(QAbstractSocket::NetworkError);
+ emitErrorOccurred(QAbstractSocket::NetworkError);
break;
}
}
@@ -875,7 +873,7 @@ qint64 QWebSocketPrivate::doWriteFrames(const QByteArray &data, bool isBinary)
if (Q_UNLIKELY(payloadWritten != data.size())) {
setErrorString(QWebSocket::tr("Bytes written %1 != %2.")
.arg(payloadWritten).arg(data.size()));
- Q_EMIT q->error(QAbstractSocket::NetworkError);
+ emitErrorOccurred(QAbstractSocket::NetworkError);
}
return payloadWritten;
}
@@ -959,7 +957,7 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
const qint64 maxHeaderLength = MAX_HEADERLINE_LENGTH * MAX_HEADERLINES + endOfHeaderMarker.size();
if (Q_UNLIKELY(byteAvailable > maxHeaderLength)) {
setErrorString(QWebSocket::tr("Header is too large"));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
}
return;
}
@@ -971,7 +969,7 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
if (Q_UNLIKELY(skippedSize != headerSize)) {
setErrorString(QWebSocket::tr("Read handshake request header failed"));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
@@ -982,13 +980,13 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
if (!parser.parseStatus(status)) {
setErrorString(QWebSocket::tr("Read handshake request status failed"));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
if (!parser.parseHeaders(headers.sliced(endOfStatusIndex + endOfStatusMarker.size()))) {
setErrorString(QWebSocket::tr("Parsing handshake request header failed"));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
@@ -1009,7 +1007,7 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
setErrorString(QWebSocket::tr("WebSocket server has chosen protocol %1 which has not been "
"requested")
.arg(protocol));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
@@ -1071,7 +1069,7 @@ void QWebSocketPrivate::processHandshake(QTcpSocket *pSocket)
} else {
// handshake failed
setErrorString(errorDescription);
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
}
}
@@ -1112,7 +1110,7 @@ void QWebSocketPrivate::processStateChanged(QAbstractSocket::SocketState socketS
headers);
if (handshake.isEmpty()) {
m_pSocket->abort();
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
m_pSocket->write(handshake.toLatin1());
@@ -1521,6 +1519,18 @@ void QWebSocketPrivate::setReadBufferSize(qint64 size)
m_pSocket->setReadBufferSize(m_readBufferSize);
}
+void QWebSocketPrivate::emitErrorOccurred(QAbstractSocket::SocketError error)
+{
+ Q_Q(QWebSocket);
+ Q_EMIT q->errorOccurred(error);
+#if QT_DEPRECATED_SINCE(6, 5)
+ QT_WARNING_PUSH
+ QT_WARNING_DISABLE_DEPRECATED
+ Q_EMIT q->error(error);
+ QT_WARNING_POP
+#endif
+}
+
#ifndef Q_OS_WASM
/*!
\internal
diff --git a/src/websockets/qwebsocket_p.h b/src/websockets/qwebsocket_p.h
index 20a051c..90b1674 100644
--- a/src/websockets/qwebsocket_p.h
+++ b/src/websockets/qwebsocket_p.h
@@ -186,6 +186,7 @@ private:
QByteArray generateKey() const;
Q_REQUIRED_RESULT qint64 writeFrames(const QList<QByteArray> &frames);
Q_REQUIRED_RESULT qint64 writeFrame(const QByteArray &frame);
+ void emitErrorOccurred(QAbstractSocket::SocketError error);
QTcpSocket *m_pSocket;
QString m_errorString;
diff --git a/src/websockets/qwebsocket_wasm_p.cpp b/src/websockets/qwebsocket_wasm_p.cpp
index d7f86a0..4a69ed1 100644
--- a/src/websockets/qwebsocket_wasm_p.cpp
+++ b/src/websockets/qwebsocket_wasm_p.cpp
@@ -80,7 +80,7 @@ qint64 QWebSocketPrivate::sendTextMessage(const QString &message)
if (m_readyState == 1) {
result = emscripten_websocket_send_utf8_text(m_socketContext, message.toUtf8());
if (result < 0)
- emit q_func()->error(QAbstractSocket::UnknownSocketError);
+ emitErrorOccurred(QAbstractSocket::UnknownSocketError);
} else
qWarning() << "Could not send message. Websocket is not open";
@@ -96,7 +96,7 @@ qint64 QWebSocketPrivate::sendBinaryMessage(const QByteArray &data)
m_socketContext, const_cast<void *>(reinterpret_cast<const void *>(data.constData())),
data.size());
if (result < 0)
- emit q_func()->error(QAbstractSocket::UnknownSocketError);
+ emitErrorOccurred(QAbstractSocket::UnknownSocketError);
} else
qWarning() << "Could not send message. Websocket is not open";
@@ -126,12 +126,11 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
{
Q_UNUSED(mask);
Q_UNUSED(options)
- Q_Q(QWebSocket);
emscripten_websocket_get_ready_state(m_socketContext, &m_readyState);
if ((m_readyState == 1 || m_readyState == 3) && m_socketContext != 0) {
- emit q->error(QAbstractSocket::OperationError);
+ emitErrorOccurred(QAbstractSocket::OperationError);
return;
}
@@ -147,7 +146,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
|| url.toString().contains(QStringLiteral("\r\n"))
|| (isSecureContext && url.scheme() == QStringLiteral("ws"))) {
setErrorString(QWebSocket::tr("Connection refused"));
- Q_EMIT q->error(QAbstractSocket::ConnectionRefusedError);
+ emitErrorOccurred(QAbstractSocket::ConnectionRefusedError);
return;
}
@@ -186,7 +185,7 @@ void QWebSocketPrivate::open(const QNetworkRequest &request,
if (m_socketContext <= 0) { // m_readyState might not be changed yet
// error
- emit q->error(QAbstractSocket::UnknownSocketError);
+ emitErrorOccurred(QAbstractSocket::UnknownSocketError);
return;
}