Hi Jo?o Paulo, On Tue, Apr 23, 2013 at 10:48 PM, <jprvita at gmail.com> wrote: > From: Jo?o Paulo Rechi Vita <jprvita at openbossa.org> > > According to the BlueZ API documentation the 'Alias' property should be > preffered over the 'Name' property. Also, if the device doesn't have a > remote name the 'Name' property may not be set, but the 'Alias' property > will always be. Can you point to the documentation you refer to? 'Alias' is a user-modifiable property, while 'Name' is what the remote device reports. They just have different purposes, so I don't think one of them is preferred over the other as a general rule. > --- > src/modules/bluetooth/bluetooth-util.c | 7 +------ > src/modules/bluetooth/bluetooth-util.h | 1 - > src/modules/bluetooth/module-bluetooth-device.c | 4 ++-- > 3 files changed, 3 insertions(+), 9 deletions(-) > > diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c > index c15ecd1..b0ee62c 100644 > --- a/src/modules/bluetooth/bluetooth-util.c > +++ b/src/modules/bluetooth/bluetooth-util.c > @@ -179,7 +179,6 @@ static pa_bluetooth_device* device_new(pa_bluetooth_discovery *discovery, const > > d->device_info_valid = 0; > > - d->name = NULL; > d->path = pa_xstrdup(path); > d->paired = -1; > d->alias = NULL; > @@ -228,7 +227,6 @@ static void device_free(pa_bluetooth_device *d) { > uuid_free(u); > } > > - pa_xfree(d->name); > pa_xfree(d->path); > pa_xfree(d->alias); > pa_xfree(d->address); > @@ -364,10 +362,7 @@ static int parse_device_property(pa_bluetooth_device *d, DBusMessageIter *i, boo > const char *value; > dbus_message_iter_get_basic(&variant_i, &value); > > - if (pa_streq(key, "Name")) { > - pa_xfree(d->name); > - d->name = pa_xstrdup(value); > - } else if (pa_streq(key, "Alias")) { > + if (pa_streq(key, "Alias")) { > pa_xfree(d->alias); > d->alias = pa_xstrdup(value); > } else if (pa_streq(key, "Address")) { > diff --git a/src/modules/bluetooth/bluetooth-util.h b/src/modules/bluetooth/bluetooth-util.h > index 3361b0f..1040d5b 100644 > --- a/src/modules/bluetooth/bluetooth-util.h > +++ b/src/modules/bluetooth/bluetooth-util.h > @@ -120,7 +120,6 @@ struct pa_bluetooth_device { > int device_info_valid; /* 0: no results yet; 1: good results; -1: bad results ... */ > > /* Device information */ > - char *name; I don't see the removal as part of this patch, regardless of what you do with pa_proplist_sets() below. > char *path; > pa_bluetooth_transport *transports[PA_BLUETOOTH_PROFILE_COUNT]; > int paired; > diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c > index cd0a515..ddf658f 100644 > --- a/src/modules/bluetooth/module-bluetooth-device.c > +++ b/src/modules/bluetooth/module-bluetooth-device.c > @@ -2237,7 +2237,7 @@ static int add_card(struct userdata *u) { > data.driver = __FILE__; > data.module = u->module; > > - n = pa_bluetooth_cleanup_name(device->name); > + n = pa_bluetooth_cleanup_name(device->alias); > pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, n); > pa_xfree(n); > pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, device->address); > @@ -2250,7 +2250,7 @@ static int add_card(struct userdata *u) { > > pa_proplist_sets(data.proplist, "bluez.path", device->path); > pa_proplist_setf(data.proplist, "bluez.class", "0x%06x", (unsigned) device->class); > - pa_proplist_sets(data.proplist, "bluez.name", device->name); > + pa_proplist_sets(data.proplist, "bluez.name", device->alias); What's the purpose of replacing this existing property instead of adding 'bluez.alias'? Btw, I'm not seeing any user of this property so I'm wondering why you're interested in such a change. Is it for development and testing purposes? > data.name = get_name("card", u->modargs, device->address, &b); > data.namereg_fail = b; > > -- Cheers, Mikel