From 1fe5a858bd974684f4a9ff59f9e4669c67490fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Danis?= Date: Fri, 23 May 2025 09:26:47 +0200 Subject: [PATCH] client: Display disconnection reason The new org.bluez.Device1.Disconnected signal propagates the disconnection reason. --- client/main.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/client/main.c b/client/main.c index 5d53a7be1..14ca6e6fa 100644 --- a/client/main.c +++ b/client/main.c @@ -708,6 +708,24 @@ static void property_changed(GDBusProxy *proxy, const char *name, static void message_handler(DBusConnection *connection, DBusMessage *message, void *user_data) { + if (!strcmp(dbus_message_get_member(message), "Disconnected")) { + const char *name; + const char *msg; + + if (!dbus_message_get_args(message, NULL, + DBUS_TYPE_STRING, &name, + DBUS_TYPE_STRING, &msg, + DBUS_TYPE_INVALID)) + goto failed; + + bt_shell_printf("[SIGNAL] %s.%s %s %s\n", + dbus_message_get_interface(message), + dbus_message_get_member(message), + name, msg); + return; + } + +failed: bt_shell_printf("[SIGNAL] %s.%s\n", dbus_message_get_interface(message), dbus_message_get_member(message)); } -- 2.47.3