"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

PyPI(PyQt5): https://pypi.org/project/IceSpringPySideStubs-PyQt5

PyPI(PyQt6): https://pypi.org/project/IceSpringPySideStubs-PyQt6

Generated by BaiJiFeiLong@gmail.com

License: MIT
"""
import typing
import PyQt6.sip
from PyQt6 import QtCore
from PyQt6.QtBluetooth import *


class QLowEnergyDescriptorData(PyQt6.sip.simplewrapper):
    """
    https://doc.qt.io/qt-6/qlowenergydescriptordata.html

    **Detailed Description**

    An object of this class provides a descriptor to be added to a
    **QLowEnergyCharacteristicData**  object via
    **QLowEnergyCharacteristicData::addDescriptor** ().

    **Note:** The member functions related to access permissions are only
    applicable to those types of descriptors for which the Bluetooth
    specification does not prescribe if and how their values can be accessed.

    **See also** **QLowEnergyCharacteristicData** , **QLowEnergyServiceData** ,
    and **QLowEnergyController::addService** .
    """

    @typing.overload
    def __init__(self) -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#QLowEnergyDescripto
        rData

        **QLowEnergyDescriptorData::QLowEnergyDescriptorData()**

        Creates a new invalid object of this class.
        """
        ...

    @typing.overload
    def __init__(self, uuid: QBluetoothUuid, value: QtCore.QByteArray) -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#QLowEnergyDescripto
        rData-1

        **QLowEnergyDescriptorData::QLowEnergyDescriptorData(const
        QBluetoothUuid & uuid , const QByteArray & value )**

        Creates a new object of this class with UUID and value being provided by
        **uuid** and **value** , respectively.
        """
        ...

    @typing.overload
    def __init__(self, other: "QLowEnergyDescriptorData") -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#QLowEnergyDescripto
        rData-2

        **QLowEnergyDescriptorData::QLowEnergyDescriptorData(const
        QLowEnergyDescriptorData & other )**

        Constructs a new object of this class that is a copy of **other**.
        """
        ...

    def swap(self, other: "QLowEnergyDescriptorData") -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#swap

        **void QLowEnergyDescriptorData::swap(QLowEnergyDescriptorData & other
        )**

        Swaps this object with **other**.
        """
        ...

    def writeConstraints(self) -> QBluetooth.AttAccessConstraint:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#writeConstraints

        **QBluetooth::AttAccessConstraints
        QLowEnergyDescriptorData::writeConstraints() const**

        Returns the constraints under which the value of this descriptor can be
        written. This value is only relevant if **isWritable** () returns
        `true`.
        """
        ...

    def isWritable(self) -> bool:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#isWritable

        **bool QLowEnergyDescriptorData::isWritable() const**

        Returns `true` if the value of this descriptor is writable and `false`
        otherwise.
        """
        ...

    def setWritePermissions(
        self, writable: bool, constraints: QBluetooth.AttAccessConstraint = ...
    ) -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#setWritePermissions

        **void QLowEnergyDescriptorData::setWritePermissions(bool writable ,
        QBluetooth::AttAccessConstraints constraints =
        QBluetooth::AttAccessConstraints())**

        Specifies whether the value of this descriptor is **writable** and if
        so, under which **constraints**.

        **See also** **setReadPermissions** ().
        """
        ...

    def readConstraints(self) -> QBluetooth.AttAccessConstraint:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#readConstraints

        **QBluetooth::AttAccessConstraints
        QLowEnergyDescriptorData::readConstraints() const**

        Returns the constraints under which the value of this descriptor can be
        read. This value is only relevant if **isReadable** () returns `true`.
        """
        ...

    def isReadable(self) -> bool:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#isReadable

        **bool QLowEnergyDescriptorData::isReadable() const**

        Returns `true` if the value of this descriptor is readable and `false`
        otherwise.
        """
        ...

    def setReadPermissions(
        self, readable: bool, constraints: QBluetooth.AttAccessConstraint = ...
    ) -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#setReadPermissions

        **void QLowEnergyDescriptorData::setReadPermissions(bool readable ,
        QBluetooth::AttAccessConstraints constraints =
        QBluetooth::AttAccessConstraints())**

        Specifies whether the value of this descriptor is **readable** and if
        so, under which **constraints**.

        **See also** **setWritePermissions** ().
        """
        ...

    def isValid(self) -> bool:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#isValid

        **bool QLowEnergyDescriptorData::isValid() const**

        Returns true if and only if this object has a non-null UUID.
        """
        ...

    def setUuid(self, uuid: QBluetoothUuid) -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#setUuid

        **void QLowEnergyDescriptorData::setUuid(const QBluetoothUuid & uuid )**

        Sets the UUID of this descriptor to **uuid**.

        **See also** **uuid** ().
        """
        ...

    def uuid(self) -> QBluetoothUuid:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#uuid

        **QBluetoothUuid QLowEnergyDescriptorData::uuid() const**

        Returns the UUID of this descriptor.

        **See also** **setUuid** ().
        """
        ...

    def setValue(self, value: QtCore.QByteArray) -> None:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#setValue

        **void QLowEnergyDescriptorData::setValue(const QByteArray & value )**

        Sets the value of this descriptor to **value**. It will be sent to a
        peer device exactly the way it is provided here, so callers need to take
        care of things such as endianness.

        **See also** **value** ().
        """
        ...

    def value(self) -> QtCore.QByteArray:
        """
        https://doc.qt.io/qt-6/qlowenergydescriptordata.html#value

        **QByteArray QLowEnergyDescriptorData::value() const**

        Returns the value of this descriptor.

        **See also** **setValue** ().
        """
        ...
