2013-11-20 20:21:52

by Sebastian Chlad

[permalink] [raw]
Subject: [PATCH] Adding paired-devices cmd to the bluetoothctl

From: Sebastian Chlad <[email protected]>

Paired-devices command lists only paired devices
---
client/main.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/client/main.c b/client/main.c
index 0dd1510..c39ebf8 100644
--- a/client/main.c
+++ b/client/main.c
@@ -538,6 +538,26 @@ static void cmd_devices(const char *arg)
}
}

+static void cmd_devices_paired(const char *arg)
+{
+ GList *list;
+
+ for (list = g_list_first(dev_list); list; list = g_list_next(list)) {
+ DBusMessageIter iter;
+ GDBusProxy *proxy = list->data;
+ dbus_bool_t paired;
+
+ if (g_dbus_proxy_get_property(proxy, "Paired", &iter) == FALSE)
+ return;
+ dbus_message_iter_get_basic(&iter, &paired);
+
+ if (!paired)
+ break;
+
+ print_device(proxy, NULL);
+ }
+}
+
static void generic_callback(const DBusError *error, void *user_data)
{
char *str = user_data;
@@ -1047,6 +1067,8 @@ static const struct {
{ "select", "<ctrl>", cmd_select, "Select default controller",
ctrl_generator },
{ "devices", NULL, cmd_devices, "List available devices" },
+ { "paired-devices", NULL, cmd_devices_paired,
+ "List paired devices"},
{ "system-alias", "<name>", cmd_system_alias },
{ "reset-alias", NULL, cmd_reset_alias },
{ "power", "<on/off>", cmd_power, "Set controller power" },
--
1.8.1.2



2013-11-25 13:24:54

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Adding paired-devices cmd to the bluetoothctl

Hi Szymon,

On Mon, Nov 25, 2013, Szymon Janc wrote:
> > Paired-devices command lists only paired devices
> > ---
> > client/main.c | 22 ++++++++++++++++++++++
> > 1 file changed, 22 insertions(+)
> >
> > diff --git a/client/main.c b/client/main.c
> > index 0dd1510..c39ebf8 100644
> > --- a/client/main.c
> > +++ b/client/main.c
> > @@ -538,6 +538,26 @@ static void cmd_devices(const char *arg)
> > }
> > }
> >
> > +static void cmd_devices_paired(const char *arg)
> > +{
> > + GList *list;
> > +
> > + for (list = g_list_first(dev_list); list; list = g_list_next(list)) {
> > + DBusMessageIter iter;
> > + GDBusProxy *proxy = list->data;
> > + dbus_bool_t paired;
> > +
> > + if (g_dbus_proxy_get_property(proxy, "Paired", &iter) == FALSE)
> > + return;
> > + dbus_message_iter_get_basic(&iter, &paired);
> > +
> > + if (!paired)
> > + break;
>
> Shouldn't this be
> if (!paired)
> continue;
>
> ? Or paired devices are guaranteed to be first on list?

They're not, and the same goes the for return statement in case
g_dbus_proxy_get_property fails. Since this was the last patch pushed I
did a git commit --amend + git push --force to avoid a fixup patch.

Johan

2013-11-25 13:08:07

by Szymon Janc

[permalink] [raw]
Subject: Re: [PATCH] Adding paired-devices cmd to the bluetoothctl

Hi,

> From: Sebastian Chlad <[email protected]>
>
> Paired-devices command lists only paired devices
> ---
> client/main.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/client/main.c b/client/main.c
> index 0dd1510..c39ebf8 100644
> --- a/client/main.c
> +++ b/client/main.c
> @@ -538,6 +538,26 @@ static void cmd_devices(const char *arg)
> }
> }
>
> +static void cmd_devices_paired(const char *arg)
> +{
> + GList *list;
> +
> + for (list = g_list_first(dev_list); list; list = g_list_next(list)) {
> + DBusMessageIter iter;
> + GDBusProxy *proxy = list->data;
> + dbus_bool_t paired;
> +
> + if (g_dbus_proxy_get_property(proxy, "Paired", &iter) == FALSE)
> + return;
> + dbus_message_iter_get_basic(&iter, &paired);
> +
> + if (!paired)
> + break;

Shouldn't this be
if (!paired)
continue;

? Or paired devices are guaranteed to be first on list?

> +
> + print_device(proxy, NULL);
> + }
> +}
> +
> static void generic_callback(const DBusError *error, void *user_data)
> {
> char *str = user_data;
> @@ -1047,6 +1067,8 @@ static const struct {
> { "select", "<ctrl>", cmd_select, "Select default controller",
> ctrl_generator },
> { "devices", NULL, cmd_devices, "List available devices" },
> + { "paired-devices", NULL, cmd_devices_paired,
> + "List paired devices"},
> { "system-alias", "<name>", cmd_system_alias },
> { "reset-alias", NULL, cmd_reset_alias },
> { "power", "<on/off>", cmd_power, "Set controller power" },
>

--
BR
Szymon Janc


2013-11-25 12:56:37

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Adding paired-devices cmd to the bluetoothctl

Hi Sebastian,

On Wed, Nov 20, 2013, Sebastian wrote:
> From: Sebastian Chlad <[email protected]>
>
> Paired-devices command lists only paired devices
> ---
> client/main.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)

Applied (after a couple of minor tweaks). Thanks.

Johan