Source code for bleak.args.corebluetooth

"""
-------------------------------
CoreBluetooth backend arguments
-------------------------------
"""

from collections.abc import Callable
from typing import Optional, TypedDict


[docs] class CBScannerArgs(TypedDict, total=False): """ Platform-specific :class:`BleakScanner` args for the CoreBluetooth backend. """ use_bdaddr: bool """ If true, use Bluetooth address instead of UUID. .. warning:: This uses an undocumented IOBluetooth API to get the Bluetooth address and may break in the future macOS releases. `It is known to not work on macOS 10.15 <https://github.com/hbldh/bleak/issues/1286>`_. """
NotificationDiscriminator = Callable[[bytes], bool]
[docs] class CBStartNotifyArgs(TypedDict, total=False): """CoreBluetooth backend-specific dictionary of arguments for the :meth:`bleak.BleakClient.start_notify` method. """ notification_discriminator: Optional[NotificationDiscriminator] """ A function that takes a single argument of a characteristic value and returns ``True`` if the value is from a notification or ``False`` if the value is from a read response. .. seealso:: :ref:`cb-notification-discriminator` for more info. """