Fix tray visibility and message reception issues
- Disable sound initialization to prevent hanging
- Add missing import re in utils.py
- Fix settings loading for QSettings
- Update file paths to use PROJECT_ROOT
- Revert to working API paths and listener from commit efdc63e
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# Automatically generated configuration for PyQt6.QtWebSockets.
|
||||
|
||||
sip-version = "6.14.0"
|
||||
sip-abi-version = "13.8"
|
||||
module-tags = ["Qt_6_10_0", "Linux"]
|
||||
module-disabled-features = []
|
||||
@@ -0,0 +1,54 @@
|
||||
// QtWebSocketsmod.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%Module(name=PyQt6.QtWebSockets, keyword_arguments="Optional", use_limited_api=True)
|
||||
|
||||
%Import QtCore/QtCoremod.sip
|
||||
%Import QtNetwork/QtNetworkmod.sip
|
||||
|
||||
%Copying
|
||||
Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
|
||||
This file is part of PyQt6.
|
||||
|
||||
This file may be used under the terms of the GNU General Public License
|
||||
version 3.0 as published by the Free Software Foundation and appearing in
|
||||
the file LICENSE included in the packaging of this file. Please review the
|
||||
following information to ensure the GNU General Public License version 3.0
|
||||
requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
|
||||
If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
then you may purchase a commercial license. For more information contact
|
||||
info@riverbankcomputing.com.
|
||||
|
||||
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
%End
|
||||
|
||||
%DefaultSupertype PyQt6.sip.simplewrapper
|
||||
|
||||
%Include qmaskgenerator.sip
|
||||
%Include qwebsocket.sip
|
||||
%Include qwebsocketcorsauthenticator.sip
|
||||
%Include qwebsockethandshakeoptions.sip
|
||||
%Include qwebsocketprotocol.sip
|
||||
%Include qwebsocketserver.sip
|
||||
@@ -0,0 +1,38 @@
|
||||
// qmaskgenerator.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%If (Qt_6_2_0 -)
|
||||
|
||||
class QMaskGenerator : public QObject
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qmaskgenerator.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
explicit QMaskGenerator(QObject *parent /TransferThis/ = 0);
|
||||
virtual ~QMaskGenerator();
|
||||
virtual bool seed() = 0;
|
||||
virtual quint32 nextMask() = 0;
|
||||
};
|
||||
|
||||
%End
|
||||
@@ -0,0 +1,183 @@
|
||||
// qwebsocket.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%If (Qt_6_2_0 -)
|
||||
|
||||
class QWebSocket : public QObject
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qwebsocket.h>
|
||||
%End
|
||||
|
||||
%ConvertToSubClassCode
|
||||
static struct class_graph {
|
||||
const char *name;
|
||||
sipTypeDef **type;
|
||||
int yes, no;
|
||||
} graph[] = {
|
||||
{sipName_QWebSocket, &sipType_QWebSocket, -1, 1},
|
||||
{sipName_QWebSocketServer, &sipType_QWebSocketServer, -1, 2},
|
||||
{sipName_QMaskGenerator, &sipType_QMaskGenerator, -1, -1},
|
||||
};
|
||||
|
||||
int i = 0;
|
||||
|
||||
sipType = NULL;
|
||||
|
||||
do
|
||||
{
|
||||
struct class_graph *cg = &graph[i];
|
||||
|
||||
if (cg->name != NULL && sipCpp->inherits(cg->name))
|
||||
{
|
||||
sipType = *cg->type;
|
||||
i = cg->yes;
|
||||
}
|
||||
else
|
||||
i = cg->no;
|
||||
}
|
||||
while (i >= 0);
|
||||
%End
|
||||
|
||||
public:
|
||||
QWebSocket(const QString &origin = QString(), QWebSocketProtocol::Version version = QWebSocketProtocol::VersionLatest, QObject *parent /TransferThis/ = 0);
|
||||
virtual ~QWebSocket();
|
||||
void abort();
|
||||
QAbstractSocket::SocketError error() const;
|
||||
QString errorString() const;
|
||||
bool flush() /ReleaseGIL/;
|
||||
bool isValid() const;
|
||||
QHostAddress localAddress() const;
|
||||
quint16 localPort() const;
|
||||
QAbstractSocket::PauseModes pauseMode() const;
|
||||
QHostAddress peerAddress() const;
|
||||
QString peerName() const;
|
||||
quint16 peerPort() const;
|
||||
QNetworkProxy proxy() const;
|
||||
void setProxy(const QNetworkProxy &networkProxy);
|
||||
void setMaskGenerator(const QMaskGenerator *maskGenerator /KeepReference/);
|
||||
const QMaskGenerator *maskGenerator() const;
|
||||
qint64 readBufferSize() const;
|
||||
void setReadBufferSize(qint64 size);
|
||||
void resume() /ReleaseGIL/;
|
||||
void setPauseMode(QAbstractSocket::PauseModes pauseMode);
|
||||
QAbstractSocket::SocketState state() const;
|
||||
QWebSocketProtocol::Version version() const;
|
||||
QString resourceName() const;
|
||||
QUrl requestUrl() const;
|
||||
QString origin() const;
|
||||
QWebSocketProtocol::CloseCode closeCode() const;
|
||||
QString closeReason() const;
|
||||
qint64 sendTextMessage(const QString &message) /ReleaseGIL/;
|
||||
qint64 sendBinaryMessage(const QByteArray &data) /ReleaseGIL/;
|
||||
%If (PyQt_SSL)
|
||||
void ignoreSslErrors(const QList<QSslError> &errors);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
void setSslConfiguration(const QSslConfiguration &sslConfiguration);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
QSslConfiguration sslConfiguration() const;
|
||||
%End
|
||||
QNetworkRequest request() const;
|
||||
|
||||
public slots:
|
||||
void close(QWebSocketProtocol::CloseCode closeCode = QWebSocketProtocol::CloseCodeNormal, const QString &reason = QString()) /ReleaseGIL/;
|
||||
%If (Qt_6_4_0 -)
|
||||
void open(const QNetworkRequest &request, const QWebSocketHandshakeOptions &options) /ReleaseGIL/;
|
||||
%End
|
||||
%If (Qt_6_4_0 -)
|
||||
void open(const QUrl &url, const QWebSocketHandshakeOptions &options) /ReleaseGIL/;
|
||||
%End
|
||||
void open(const QUrl &url) /ReleaseGIL/;
|
||||
void open(const QNetworkRequest &request) /ReleaseGIL/;
|
||||
void ping(const QByteArray &payload = QByteArray()) /ReleaseGIL/;
|
||||
%If (PyQt_SSL)
|
||||
void ignoreSslErrors();
|
||||
%End
|
||||
|
||||
signals:
|
||||
void aboutToClose();
|
||||
void connected();
|
||||
void disconnected();
|
||||
void stateChanged(QAbstractSocket::SocketState state);
|
||||
void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *pAuthenticator);
|
||||
void readChannelFinished();
|
||||
void textFrameReceived(const QString &frame, bool isLastFrame);
|
||||
void binaryFrameReceived(const QByteArray &frame, bool isLastFrame);
|
||||
void textMessageReceived(const QString &message);
|
||||
void binaryMessageReceived(const QByteArray &message);
|
||||
void error(QAbstractSocket::SocketError error);
|
||||
void pong(quint64 elapsedTime, const QByteArray &payload);
|
||||
void bytesWritten(qint64 bytes);
|
||||
%If (PyQt_SSL)
|
||||
void sslErrors(const QList<QSslError> &errors);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator);
|
||||
%End
|
||||
|
||||
public:
|
||||
qint64 bytesToWrite() const;
|
||||
void setMaxAllowedIncomingFrameSize(quint64 maxAllowedIncomingFrameSize);
|
||||
quint64 maxAllowedIncomingFrameSize() const;
|
||||
void setMaxAllowedIncomingMessageSize(quint64 maxAllowedIncomingMessageSize);
|
||||
quint64 maxAllowedIncomingMessageSize() const;
|
||||
static quint64 maxIncomingMessageSize();
|
||||
static quint64 maxIncomingFrameSize();
|
||||
void setOutgoingFrameSize(quint64 outgoingFrameSize);
|
||||
quint64 outgoingFrameSize() const;
|
||||
static quint64 maxOutgoingFrameSize();
|
||||
void continueInterruptedHandshake();
|
||||
|
||||
signals:
|
||||
%If (PyQt_SSL)
|
||||
void peerVerifyError(const QSslError &error);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
void alertSent(QSsl::AlertLevel level, QSsl::AlertType type, const QString &description);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
void alertReceived(QSsl::AlertLevel level, QSsl::AlertType type, const QString &description);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
void handshakeInterruptedOnError(const QSslError &error);
|
||||
%End
|
||||
|
||||
public:
|
||||
%If (Qt_6_4_0 -)
|
||||
QWebSocketHandshakeOptions handshakeOptions() const;
|
||||
%End
|
||||
%If (Qt_6_4_0 -)
|
||||
QString subprotocol() const;
|
||||
%End
|
||||
|
||||
signals:
|
||||
%If (Qt_6_5_0 -)
|
||||
void errorOccurred(QAbstractSocket::SocketError error);
|
||||
%End
|
||||
%If (Qt_6_6_0 -)
|
||||
void authenticationRequired(QAuthenticator *authenticator);
|
||||
%End
|
||||
};
|
||||
|
||||
%End
|
||||
@@ -0,0 +1,41 @@
|
||||
// qwebsocketcorsauthenticator.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%If (Qt_6_2_0 -)
|
||||
|
||||
class QWebSocketCorsAuthenticator
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qwebsocketcorsauthenticator.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
explicit QWebSocketCorsAuthenticator(const QString &origin);
|
||||
explicit QWebSocketCorsAuthenticator(const QWebSocketCorsAuthenticator &other);
|
||||
~QWebSocketCorsAuthenticator();
|
||||
void swap(QWebSocketCorsAuthenticator &other /Constrained/);
|
||||
QString origin() const;
|
||||
void setAllowed(bool allowed);
|
||||
bool allowed() const;
|
||||
};
|
||||
|
||||
%End
|
||||
@@ -0,0 +1,46 @@
|
||||
// qwebsockethandshakeoptions.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%If (Qt_6_4_0 -)
|
||||
|
||||
class QWebSocketHandshakeOptions
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qwebsockethandshakeoptions.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
QWebSocketHandshakeOptions();
|
||||
QWebSocketHandshakeOptions(const QWebSocketHandshakeOptions &other);
|
||||
~QWebSocketHandshakeOptions();
|
||||
void swap(QWebSocketHandshakeOptions &other);
|
||||
QStringList subprotocols() const;
|
||||
void setSubprotocols(const QStringList &protocols);
|
||||
};
|
||||
|
||||
%End
|
||||
%If (Qt_6_4_0 -)
|
||||
bool operator==(const QWebSocketHandshakeOptions &lhs, const QWebSocketHandshakeOptions &rhs);
|
||||
%End
|
||||
%If (Qt_6_4_0 -)
|
||||
bool operator!=(const QWebSocketHandshakeOptions &lhs, const QWebSocketHandshakeOptions &rhs);
|
||||
%End
|
||||
@@ -0,0 +1,62 @@
|
||||
// qwebsocketprotocol.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%If (Qt_6_2_0 -)
|
||||
|
||||
namespace QWebSocketProtocol
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qwebsocketprotocol.h>
|
||||
%End
|
||||
|
||||
enum Version
|
||||
{
|
||||
VersionUnknown,
|
||||
Version0,
|
||||
Version4,
|
||||
Version5,
|
||||
Version6,
|
||||
Version7,
|
||||
Version8,
|
||||
Version13,
|
||||
VersionLatest,
|
||||
};
|
||||
|
||||
enum CloseCode
|
||||
{
|
||||
CloseCodeNormal,
|
||||
CloseCodeGoingAway,
|
||||
CloseCodeProtocolError,
|
||||
CloseCodeDatatypeNotSupported,
|
||||
CloseCodeReserved1004,
|
||||
CloseCodeMissingStatusCode,
|
||||
CloseCodeAbnormalDisconnection,
|
||||
CloseCodeWrongDatatype,
|
||||
CloseCodePolicyViolated,
|
||||
CloseCodeTooMuchData,
|
||||
CloseCodeMissingExtension,
|
||||
CloseCodeBadOperation,
|
||||
CloseCodeTlsHandshakeFailed,
|
||||
};
|
||||
};
|
||||
|
||||
%End
|
||||
@@ -0,0 +1,99 @@
|
||||
// qwebsocketserver.sip generated by MetaSIP
|
||||
//
|
||||
// This file is part of the QtWebSockets Python extension module.
|
||||
//
|
||||
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
|
||||
//
|
||||
// This file is part of PyQt6.
|
||||
//
|
||||
// This file may be used under the terms of the GNU General Public License
|
||||
// version 3.0 as published by the Free Software Foundation and appearing in
|
||||
// the file LICENSE included in the packaging of this file. Please review the
|
||||
// following information to ensure the GNU General Public License version 3.0
|
||||
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
|
||||
//
|
||||
// If you do not wish to use this file under the terms of the GPL version 3.0
|
||||
// then you may purchase a commercial license. For more information contact
|
||||
// info@riverbankcomputing.com.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
%If (Qt_6_2_0 -)
|
||||
|
||||
class QWebSocketServer : public QObject
|
||||
{
|
||||
%TypeHeaderCode
|
||||
#include <qwebsocketserver.h>
|
||||
%End
|
||||
|
||||
public:
|
||||
enum SslMode
|
||||
{
|
||||
%If (PyQt_SSL)
|
||||
SecureMode,
|
||||
%End
|
||||
NonSecureMode,
|
||||
};
|
||||
|
||||
QWebSocketServer(const QString &serverName, QWebSocketServer::SslMode secureMode, QObject *parent /TransferThis/ = 0);
|
||||
virtual ~QWebSocketServer();
|
||||
bool listen(const QHostAddress &address = QHostAddress::Any, quint16 port = 0);
|
||||
void close();
|
||||
bool isListening() const;
|
||||
void setMaxPendingConnections(int numConnections);
|
||||
int maxPendingConnections() const;
|
||||
quint16 serverPort() const;
|
||||
QHostAddress serverAddress() const;
|
||||
QWebSocketServer::SslMode secureMode() const;
|
||||
bool setSocketDescriptor(qintptr socketDescriptor);
|
||||
qintptr socketDescriptor() const;
|
||||
bool hasPendingConnections() const;
|
||||
virtual QWebSocket *nextPendingConnection() /Factory/;
|
||||
QWebSocketProtocol::CloseCode error() const;
|
||||
QString errorString() const;
|
||||
void pauseAccepting();
|
||||
void resumeAccepting();
|
||||
void setServerName(const QString &serverName);
|
||||
QString serverName() const;
|
||||
void setProxy(const QNetworkProxy &networkProxy);
|
||||
QNetworkProxy proxy() const;
|
||||
%If (PyQt_SSL)
|
||||
void setSslConfiguration(const QSslConfiguration &sslConfiguration);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
QSslConfiguration sslConfiguration() const;
|
||||
%End
|
||||
QList<QWebSocketProtocol::Version> supportedVersions() const;
|
||||
QUrl serverUrl() const;
|
||||
void handleConnection(QTcpSocket *socket) const;
|
||||
|
||||
signals:
|
||||
void acceptError(QAbstractSocket::SocketError socketError);
|
||||
void serverError(QWebSocketProtocol::CloseCode closeCode);
|
||||
void originAuthenticationRequired(QWebSocketCorsAuthenticator *pAuthenticator);
|
||||
void newConnection();
|
||||
%If (PyQt_SSL)
|
||||
void peerVerifyError(const QSslError &error);
|
||||
%End
|
||||
%If (PyQt_SSL)
|
||||
void sslErrors(const QList<QSslError> &errors);
|
||||
%End
|
||||
void closed();
|
||||
%If (PyQt_SSL)
|
||||
void preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator);
|
||||
%End
|
||||
|
||||
public:
|
||||
void setHandshakeTimeout(int msec);
|
||||
int handshakeTimeoutMS() const;
|
||||
%If (Qt_6_4_0 -)
|
||||
void setSupportedSubprotocols(const QStringList &protocols);
|
||||
%End
|
||||
%If (Qt_6_4_0 -)
|
||||
QStringList supportedSubprotocols() const;
|
||||
%End
|
||||
};
|
||||
|
||||
%End
|
||||
Reference in New Issue
Block a user