# 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.QtNfc, except for defaults which are replaced by "...".
"""

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

import PySide6.QtNfc
import PySide6.QtCore

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


class QIntList: ...


class QNdefFilter(Shiboken.Object):

    class Record(Shiboken.Object): ...


class QNdefMessage(Shiboken.Object): ...


class QNdefNfcIconRecord(PySide6.QtNfc.QNdefRecord): ...


class QNdefNfcSmartPosterRecord(PySide6.QtNfc.QNdefRecord):

    class Action(enum.Enum):

        UnspecifiedAction         = -1
        DoAction                  = 0x0
        SaveAction                = 0x1
        EditAction                = 0x2


class QNdefNfcTextRecord(PySide6.QtNfc.QNdefRecord):

    class Encoding(enum.Enum):

        Utf8                      = 0x0
        Utf16                     = 0x1


class QNdefNfcUriRecord(PySide6.QtNfc.QNdefRecord): ...


class QNdefRecord(Shiboken.Object):

    class TypeNameFormat(enum.Enum):

        Empty                     = 0x0
        NfcRtd                    = 0x1
        Mime                      = 0x2
        Uri                       = 0x3
        ExternalRtd               = 0x4
        Unknown                   = 0x5


class QNearFieldManager(PySide6.QtCore.QObject):

    adapterStateChanged      : typing.ClassVar[Signal] = ... # adapterStateChanged(QNearFieldManager::AdapterState)
    targetDetected           : typing.ClassVar[Signal] = ... # targetDetected(QNearFieldTarget*)
    targetDetectionStopped   : typing.ClassVar[Signal] = ... # targetDetectionStopped()
    targetLost               : typing.ClassVar[Signal] = ... # targetLost(QNearFieldTarget*)

    class AdapterState(enum.Enum):

        Offline                   = 0x1
        TurningOn                 = 0x2
        Online                    = 0x3
        TurningOff                = 0x4


class QNearFieldTarget(PySide6.QtCore.QObject):

    disconnected             : typing.ClassVar[Signal] = ... # disconnected()
    error                    : typing.ClassVar[Signal] = ... # error(QNearFieldTarget::Error,QNearFieldTarget::RequestId)
    ndefMessageRead          : typing.ClassVar[Signal] = ... # ndefMessageRead(QNdefMessage)
    requestCompleted         : typing.ClassVar[Signal] = ... # requestCompleted(QNearFieldTarget::RequestId)

    class AccessMethod(enum.Flag):

        UnknownAccess             = 0x0
        NdefAccess                = 0x1
        TagTypeSpecificAccess     = 0x2
        AnyAccess                 = 0xff

    class Error(enum.Enum):

        NoError                   = 0x0
        UnknownError              = 0x1
        UnsupportedError          = 0x2
        TargetOutOfRangeError     = 0x3
        NoResponseError           = 0x4
        ChecksumMismatchError     = 0x5
        InvalidParametersError    = 0x6
        ConnectionError           = 0x7
        NdefReadError             = 0x8
        NdefWriteError            = 0x9
        CommandError              = 0xa
        TimeoutError              = 0xb
        UnsupportedTargetError    = 0xc

    class RequestId(Shiboken.Object): ...

    class Type(enum.Enum):

        ProprietaryTag            = 0x0
        NfcTagType1               = 0x1
        NfcTagType2               = 0x2
        NfcTagType3               = 0x3
        NfcTagType4               = 0x4
        NfcTagType4A              = 0x5
        NfcTagType4B              = 0x6
        MifareTag                 = 0x7


# eof
