# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
"""
This file contains the exact signatures for all functions in module
PySide6.QtWebSockets, except for defaults which are replaced by "...".
"""

# mypy: disable-error-code="override, overload-overlap"
# Module `PySide6.QtWebSockets`

import PySide6.QtWebSockets
import PySide6.QtCore

import enum
import typing
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


class QIntList: ...


class QMaskGenerator(PySide6.QtCore.QObject): ...


class QWebSocket(PySide6.QtCore.QObject):

    aboutToClose             : typing.ClassVar[Signal] = ... # aboutToClose()
    alertReceived            : typing.ClassVar[Signal] = ... # alertReceived(QSsl::AlertLevel,QSsl::AlertType,QString)
    alertSent                : typing.ClassVar[Signal] = ... # alertSent(QSsl::AlertLevel,QSsl::AlertType,QString)
    authenticationRequired   : typing.ClassVar[Signal] = ... # authenticationRequired(QAuthenticator*)
    binaryFrameReceived      : typing.ClassVar[Signal] = ... # binaryFrameReceived(QByteArray,bool)
    binaryMessageReceived    : typing.ClassVar[Signal] = ... # binaryMessageReceived(QByteArray)
    bytesWritten             : typing.ClassVar[Signal] = ... # bytesWritten(qlonglong)
    connected                : typing.ClassVar[Signal] = ... # connected()
    disconnected             : typing.ClassVar[Signal] = ... # disconnected()
    error                    : typing.ClassVar[Signal] = ... # error(QAbstractSocket::SocketError)
    errorOccurred            : typing.ClassVar[Signal] = ... # errorOccurred(QAbstractSocket::SocketError)
    handshakeInterruptedOnError: typing.ClassVar[Signal] = ... # handshakeInterruptedOnError(QSslError)
    peerVerifyError          : typing.ClassVar[Signal] = ... # peerVerifyError(QSslError)
    pong                     : typing.ClassVar[Signal] = ... # pong(qulonglong,QByteArray)
    preSharedKeyAuthenticationRequired: typing.ClassVar[Signal] = ... # preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator*)
    proxyAuthenticationRequired: typing.ClassVar[Signal] = ... # proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)
    readChannelFinished      : typing.ClassVar[Signal] = ... # readChannelFinished()
    sslErrors                : typing.ClassVar[Signal] = ... # sslErrors(QList<QSslError>)
    stateChanged             : typing.ClassVar[Signal] = ... # stateChanged(QAbstractSocket::SocketState)
    textFrameReceived        : typing.ClassVar[Signal] = ... # textFrameReceived(QString,bool)
    textMessageReceived      : typing.ClassVar[Signal] = ... # textMessageReceived(QString)


class QWebSocketCorsAuthenticator(Shiboken.Object): ...


class QWebSocketHandshakeOptions(Shiboken.Object): ...


class QWebSocketProtocol(Shiboken.Object):

    class CloseCode(enum.Enum):

        CloseCodeNormal           = 0x3e8
        CloseCodeGoingAway        = 0x3e9
        CloseCodeProtocolError    = 0x3ea
        CloseCodeDatatypeNotSupported = 0x3eb
        CloseCodeReserved1004     = 0x3ec
        CloseCodeMissingStatusCode = 0x3ed
        CloseCodeAbnormalDisconnection = 0x3ee
        CloseCodeWrongDatatype    = 0x3ef
        CloseCodePolicyViolated   = 0x3f0
        CloseCodeTooMuchData      = 0x3f1
        CloseCodeMissingExtension = 0x3f2
        CloseCodeBadOperation     = 0x3f3
        CloseCodeTlsHandshakeFailed = 0x3f7

    class Version(enum.Enum):

        VersionUnknown            = -1
        Version0                  = 0x0
        Version4                  = 0x4
        Version5                  = 0x5
        Version6                  = 0x6
        Version7                  = 0x7
        Version8                  = 0x8
        Version13                 = 0xd
        VersionLatest             = 0xd


class QWebSocketServer(PySide6.QtCore.QObject):

    acceptError              : typing.ClassVar[Signal] = ... # acceptError(QAbstractSocket::SocketError)
    alertReceived            : typing.ClassVar[Signal] = ... # alertReceived(QSsl::AlertLevel,QSsl::AlertType,QString)
    alertSent                : typing.ClassVar[Signal] = ... # alertSent(QSsl::AlertLevel,QSsl::AlertType,QString)
    closed                   : typing.ClassVar[Signal] = ... # closed()
    handshakeInterruptedOnError: typing.ClassVar[Signal] = ... # handshakeInterruptedOnError(QSslError)
    newConnection            : typing.ClassVar[Signal] = ... # newConnection()
    originAuthenticationRequired: typing.ClassVar[Signal] = ... # originAuthenticationRequired(QWebSocketCorsAuthenticator*)
    peerVerifyError          : typing.ClassVar[Signal] = ... # peerVerifyError(QSslError)
    preSharedKeyAuthenticationRequired: typing.ClassVar[Signal] = ... # preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator*)
    serverError              : typing.ClassVar[Signal] = ... # serverError(QWebSocketProtocol::CloseCode)
    sslErrors                : typing.ClassVar[Signal] = ... # sslErrors(QList<QSslError>)

    class SslMode(enum.Enum):

        SecureMode                = 0x0
        NonSecureMode             = 0x1


# eof
