fix: Use D-Bus signature strings for Agent method annotations

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2025-12-30 19:44:59 +00:00
parent 89e6ee718f
commit a2702734ff

14
main.py
View File

@@ -33,37 +33,37 @@ class Agent(ServiceInterface):
logging.info('Agent Released') logging.info('Agent Released')
@method() @method()
def RequestPinCode(self, device: str) -> str: def RequestPinCode(self, device: 'o') -> 's':
logging.info(f"RequestPinCode for {device}, returning static PIN") logging.info(f"RequestPinCode for {device}, returning static PIN")
return "0000" return "0000"
@method() @method()
def RequestPasskey(self, device: str) -> int: def RequestPasskey(self, device: 'o') -> 'u':
logging.info(f"RequestPasskey for {device}") logging.info(f"RequestPasskey for {device}")
return 0 return 0
@method() @method()
def DisplayPasskey(self, device: str, passkey: int, entered: int): def DisplayPasskey(self, device: 'o', passkey: 'u', entered: 'q'):
logging.info(f"DisplayPasskey for {device}: {passkey}") logging.info(f"DisplayPasskey for {device}: {passkey}")
@method() @method()
def DisplayPinCode(self, device: str, pincode: str): def DisplayPinCode(self, device: 'o', pincode: 's'):
logging.info(f"DisplayPinCode for {device}: {pincode}") logging.info(f"DisplayPinCode for {device}: {pincode}")
@method() @method()
def RequestConfirmation(self, device: str, passkey: int): def RequestConfirmation(self, device: 'o', passkey: 'u'):
logging.info(f"RequestConfirmation for {device} with passkey {passkey}") logging.info(f"RequestConfirmation for {device} with passkey {passkey}")
# Automatically confirm and trust # Automatically confirm and trust
loop = asyncio.get_event_loop() loop = asyncio.get_event_loop()
loop.create_task(trust_and_connect_device(device)) loop.create_task(trust_and_connect_device(device))
@method() @method()
def RequestAuthorization(self, device: str): def RequestAuthorization(self, device: 'o'):
logging.info(f"RequestAuthorization for {device}") logging.info(f"RequestAuthorization for {device}")
pass pass
@method() @method()
def AuthorizeService(self, device: str, uuid: str): def AuthorizeService(self, device: 'o', uuid: 's'):
logging.info(f"AuthorizeService for {device} with uuid {uuid}") logging.info(f"AuthorizeService for {device} with uuid {uuid}")
pass pass