fix: Update @method decorators and type hints for dbus-next compatibility

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2025-12-30 19:43:11 +00:00
parent de774ccf56
commit 865f010f75

32
main.py
View File

@@ -28,46 +28,46 @@ class Agent(ServiceInterface):
def __init__(self, interface_name):
super().__init__(interface_name)
@method()
@method
def Release(self):
logging.info('Agent Released')
@method(in_signature='o', out_signature='s')
def RequestPinCode(self, device: 'o') -> 's':
@method
def RequestPinCode(self, device: str) -> str:
logging.info(f"RequestPinCode for {device}, returning static PIN")
return "0000"
@method(in_signature='o', out_signature='u')
def RequestPasskey(self, device: 'o') -> 'u':
@method
def RequestPasskey(self, device: str) -> int:
logging.info(f"RequestPasskey for {device}")
return 0
@method(in_signature='ouq', out_signature='')
def DisplayPasskey(self, device: 'o', passkey: 'u', entered: 'q'):
@method
def DisplayPasskey(self, device: str, passkey: int, entered: int):
logging.info(f"DisplayPasskey for {device}: {passkey}")
@method(in_signature='os', out_signature='')
def DisplayPinCode(self, device: 'o', pincode: 's'):
@method
def DisplayPinCode(self, device: str, pincode: str):
logging.info(f"DisplayPinCode for {device}: {pincode}")
@method(in_signature='ou', out_signature='')
def RequestConfirmation(self, device: 'o', passkey: 'u'):
@method
def RequestConfirmation(self, device: str, passkey: int):
logging.info(f"RequestConfirmation for {device} with passkey {passkey}")
# Automatically confirm and trust
loop = asyncio.get_event_loop()
loop.create_task(trust_and_connect_device(device))
@method(in_signature='o', out_signature='')
def RequestAuthorization(self, device: 'o'):
@method
def RequestAuthorization(self, device: str):
logging.info(f"RequestAuthorization for {device}")
pass
@method(in_signature='os', out_signature='')
def AuthorizeService(self, device: 'o', uuid: 's'):
@method
def AuthorizeService(self, device: str, uuid: str):
logging.info(f"AuthorizeService for {device} with uuid {uuid}")
pass
@method()
@method
def Cancel(self):
logging.info('Pairing Cancelled')