src.bluetooth_sig.gatt.characteristics.registry

Bluetooth SIG GATT characteristic registry.

This module contains the characteristic registry implementation and class mappings. CharacteristicName enum is now centralized in types.gatt_enums to avoid circular imports.

Classes

Name

Description

CharacteristicRegistry

Encapsulates all GATT characteristic registry operations.

Functions

Name

Description

get_characteristic_class_map(...)

Get the current characteristic class map.

Module Contents

class src.bluetooth_sig.gatt.characteristics.registry.CharacteristicRegistry

Bases: src.bluetooth_sig.registry.base.BaseUUIDClassRegistry[src.bluetooth_sig.types.gatt_enums.CharacteristicName, src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any]]

Encapsulates all GATT characteristic registry operations.

classmethod clear_cache() None

Clear the characteristic class map cache (for testing).

classmethod clear_custom_registrations() None

Clear all custom characteristic registrations (for testing).

classmethod create_characteristic(uuid: str | src.bluetooth_sig.types.uuid.BluetoothUUID | int) src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any] | None

Create a characteristic instance from a UUID.

Parameters:

uuid – The characteristic UUID (string, BluetoothUUID, or int)

Returns:

Characteristic instance if found, None if UUID not registered

Raises:

ValueError – If uuid format is invalid

classmethod get_all_characteristics() dict[src.bluetooth_sig.types.gatt_enums.CharacteristicName, type[src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any]]]

Get all registered characteristic classes.

classmethod get_characteristic_class(name: src.bluetooth_sig.types.gatt_enums.CharacteristicName) type[src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any]] | None

Get the characteristic class for a given CharacteristicName enum.

Backward compatibility wrapper for get_class_by_enum().

classmethod get_characteristic_class_by_uuid(uuid: str | src.bluetooth_sig.types.uuid.BluetoothUUID | int) type[src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any]] | None

Get the characteristic class for a given UUID.

Backward compatibility wrapper for get_class_by_uuid().

static list_all_characteristic_enums() list[src.bluetooth_sig.types.gatt_enums.CharacteristicName]

List all supported characteristic names as enum values.

static list_all_characteristic_names() list[str]

List all supported characteristic names as strings.

classmethod register_characteristic_class(uuid: str | src.bluetooth_sig.types.uuid.BluetoothUUID | int, char_cls: type[src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any]], override: bool = False) None

Register a custom characteristic class at runtime.

Backward compatibility wrapper for register_class().

classmethod unregister_characteristic_class(uuid: str | src.bluetooth_sig.types.uuid.BluetoothUUID | int) None

Unregister a custom characteristic class.

Backward compatibility wrapper for unregister_class().

src.bluetooth_sig.gatt.characteristics.registry.get_characteristic_class_map() dict[src.bluetooth_sig.types.gatt_enums.CharacteristicName, type[src.bluetooth_sig.gatt.characteristics.base.BaseCharacteristic[Any]]]

Get the current characteristic class map.

Backward compatibility function that returns the current registry state.

Returns:

Dictionary mapping CharacteristicName enum to characteristic classes