client/player: Make endpoint.show print all endpoint with no argument

This makes endpoint.show arguments optional and in case none is given
print all (local and remote) endpoints:

[bluetooth]# endpoint.show
Endpoint /local/endpoint/a2dp_src/sbc
	UUID 0000110a-0000-1000-8000-00805f9b34fb
	Codec 0x00 (0)
	Media Codec: SBC
	Channel Modes: Mono DualChannel Stereo JointStereo
	Frequencies: 16Khz 32Khz 44.1Khz 48Khz
	Subbands: 4 8
	Blocks: 4 8 12 16
	Bitpool Range: 2-64
Endpoint /local/endpoint/a2dp_snk/sbc
	UUID 0000110b-0000-1000-8000-00805f9b34fb
	Codec 0x00 (0)
	Media Codec: SBC
	Channel Modes: Mono DualChannel Stereo JointStereo
	Frequencies: 16Khz 32Khz 44.1Khz 48Khz
	Subbands: 4 8
	Blocks: 4 8 12 16
	Bitpool Range: 2-64
This commit is contained in:
Luiz Augusto von Dentz 2024-09-27 12:56:25 -04:00
parent 9a9dc3d456
commit 95c15d2ca0

View File

@ -2828,10 +2828,42 @@ static void print_local_endpoint(struct endpoint *ep)
ep->context);
}
static void print_endpoint_properties(GDBusProxy *proxy)
{
bt_shell_printf("Endpoint %s\n", g_dbus_proxy_get_path(proxy));
print_property(proxy, "UUID");
print_property(proxy, "Codec");
print_capabilities(proxy);
print_property(proxy, "Device");
print_property(proxy, "DelayReporting");
print_property(proxy, "Locations");
print_property(proxy, "SupportedContext");
print_property(proxy, "Context");
print_property(proxy, "QoS");
}
static void print_endpoints(void *data, void *user_data)
{
print_endpoint_properties(data);
}
static void print_local_endpoints(void *data, void *user_data)
{
print_local_endpoint(data);
}
static void cmd_show_endpoint(int argc, char *argv[])
{
GDBusProxy *proxy;
/* Show all endpoints if no argument is given */
if (argc != 2) {
g_list_foreach(endpoints, print_endpoints, NULL);
g_list_foreach(local_endpoints, print_local_endpoints, NULL);
return bt_shell_noninteractive_quit(EXIT_SUCCESS);
}
proxy = g_dbus_proxy_lookup(endpoints, NULL, argv[1],
BLUEZ_MEDIA_ENDPOINT_INTERFACE);
if (!proxy) {
@ -2845,17 +2877,7 @@ static void cmd_show_endpoint(int argc, char *argv[])
return bt_shell_noninteractive_quit(EXIT_SUCCESS);
}
bt_shell_printf("Endpoint %s\n", g_dbus_proxy_get_path(proxy));
print_property(proxy, "UUID");
print_property(proxy, "Codec");
print_capabilities(proxy);
print_property(proxy, "Device");
print_property(proxy, "DelayReporting");
print_property(proxy, "Locations");
print_property(proxy, "SupportedContext");
print_property(proxy, "Context");
print_property(proxy, "QoS");
print_endpoint_properties(proxy);
return bt_shell_noninteractive_quit(EXIT_SUCCESS);
}
@ -4320,7 +4342,7 @@ static const struct bt_shell_menu endpoint_menu = {
.entries = {
{ "list", "[local]", cmd_list_endpoints,
"List available endpoints" },
{ "show", "<endpoint>", cmd_show_endpoint,
{ "show", "[endpoint]", cmd_show_endpoint,
"Endpoint information",
endpoint_generator },
{ "register", "<UUID> <codec[:company]> [capabilities...]",