Message ID | 20241217181334.3243011-1-luiz.dentz@gmail.com |
---|---|
State | New |
Headers | show |
Series | [BlueZ,v1,1/2] client: Add command wake | expand |
Hello: This series was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Tue, 17 Dec 2024 13:13:33 -0500 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > This adds command wake which can be used to set WakeAllowed property: > > [bluetoothctl]> wake XX:XX:XX:XX:XX:XX off > [bluetoothctl]> Changing wake off succeeded > [bluetoothctl]> [CHG] Device XX:XX:XX:XX:XX:XX WakeAllowed: no > [bluetoothctl]> wake XX:XX:XX:XX:XX:XX on > [bluetoothctl]> Changing wake on succeeded > [bluetoothctl]> [CHG] Device XX:XX:XX:XX:XX:XX WakeAllowed: yes > [bluetoothctl]> wake XX:XX:XX:XX:XX:XX > > [...] Here is the summary with links: - [BlueZ,v1,1/2] client: Add command wake https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=c0fb6c067e48 - [BlueZ,v1,2/2] device: Fix not being able to set WakeAllowed https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=dfb1ffdc95a0 You are awesome, thank you!
diff --git a/client/main.c b/client/main.c index c4fc49427021..322326ab9b80 100644 --- a/client/main.c +++ b/client/main.c @@ -2050,6 +2050,42 @@ static void cmd_disconn(int argc, char *argv[]) proxy_address(proxy)); } +static void cmd_wake(int argc, char *argv[]) +{ + GDBusProxy *proxy; + dbus_bool_t value; + char *str; + + proxy = find_device(argc, argv); + if (!proxy) + return bt_shell_noninteractive_quit(EXIT_FAILURE); + + if (argc <= 2) { + print_property(proxy, "WakeAllowed"); + return; + } + + if (!strcasecmp(argv[2], "on")) { + value = TRUE; + } else if (!strcasecmp(argv[2], "off")) { + value = FALSE; + } else { + bt_shell_printf("Invalid value %s\n", argv[2]); + return bt_shell_noninteractive_quit(EXIT_FAILURE); + } + + str = g_strdup_printf("wake %s", value == TRUE ? "on" : "off"); + + if (g_dbus_proxy_set_property_basic(proxy, "WakeAllowed", + DBUS_TYPE_BOOLEAN, &value, + generic_callback, str, g_free)) + return; + + g_free(str); + + return bt_shell_noninteractive_quit(EXIT_FAILURE); +} + static void cmd_list_attributes(int argc, char *argv[]) { GDBusProxy *proxy; @@ -3130,6 +3166,8 @@ static const struct bt_shell_menu main_menu = { dev_generator }, { "disconnect", "[dev]", cmd_disconn, "Disconnect device", dev_generator }, + { "wake", "[dev] [on/off]", cmd_wake, "Get/Set wake support", + dev_generator }, { } }, };
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> This adds command wake which can be used to set WakeAllowed property: [bluetoothctl]> wake XX:XX:XX:XX:XX:XX off [bluetoothctl]> Changing wake off succeeded [bluetoothctl]> [CHG] Device XX:XX:XX:XX:XX:XX WakeAllowed: no [bluetoothctl]> wake XX:XX:XX:XX:XX:XX on [bluetoothctl]> Changing wake on succeeded [bluetoothctl]> [CHG] Device XX:XX:XX:XX:XX:XX WakeAllowed: yes [bluetoothctl]> wake XX:XX:XX:XX:XX:XX --- client/main.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)