45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
from ..descriptor import BleakGATTDescriptor
|
||
|
from .defs import GattDescriptor1
|
||
|
|
||
|
|
||
|
class BleakGATTDescriptorBlueZDBus(BleakGATTDescriptor):
|
||
|
"""GATT Descriptor implementation for BlueZ DBus backend"""
|
||
|
|
||
|
def __init__(
|
||
|
self,
|
||
|
obj: GattDescriptor1,
|
||
|
object_path: str,
|
||
|
characteristic_uuid: str,
|
||
|
characteristic_handle: int,
|
||
|
):
|
||
|
super(BleakGATTDescriptorBlueZDBus, self).__init__(obj)
|
||
|
self.__path = object_path
|
||
|
self.__characteristic_uuid = characteristic_uuid
|
||
|
self.__characteristic_handle = characteristic_handle
|
||
|
self.__handle = int(self.path.split("/")[-1].replace("desc", ""), 16)
|
||
|
|
||
|
@property
|
||
|
def characteristic_handle(self) -> int:
|
||
|
"""Handle for the characteristic that this descriptor belongs to"""
|
||
|
return self.__characteristic_handle
|
||
|
|
||
|
@property
|
||
|
def characteristic_uuid(self) -> str:
|
||
|
"""UUID for the characteristic that this descriptor belongs to"""
|
||
|
return self.__characteristic_uuid
|
||
|
|
||
|
@property
|
||
|
def uuid(self) -> str:
|
||
|
"""UUID for this descriptor"""
|
||
|
return self.obj["UUID"]
|
||
|
|
||
|
@property
|
||
|
def handle(self) -> int:
|
||
|
"""Integer handle for this descriptor"""
|
||
|
return self.__handle
|
||
|
|
||
|
@property
|
||
|
def path(self) -> str:
|
||
|
"""The DBus path. Mostly needed by `bleak`, not by end user"""
|
||
|
return self.__path
|