diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2008-09-29 12:36:08 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2008-09-29 12:36:08 +0200 |
commit | 50ffb97d6e4fba2498f53ae2a93aa49a55e73614 (patch) | |
tree | d1c0fcd46fbbac31341cc164ca0fc48c598d0226 /src | |
parent | c791fde2d5cfe6fd93e1a88c47808842e7fe17a4 (diff) |
Send alias update when remote name result is available
Diffstat (limited to 'src')
-rw-r--r-- | src/dbus-hci.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/dbus-hci.c b/src/dbus-hci.c index 2681a750..58ec1693 100644 --- a/src/dbus-hci.c +++ b/src/dbus-hci.c @@ -707,7 +707,7 @@ static int found_device_req_name(struct btd_adapter *adapter) } error("Remote name request failed with status 0x%02x", - rp.status); + rp.status); /* if failed, request the next element */ /* remove the element from the list */ @@ -1033,8 +1033,7 @@ void hcid_dbus_remote_name(bdaddr_t *local, bdaddr_t *peer, uint8_t status, char *name) { struct btd_adapter *adapter; - char peer_addr[18]; - const char *paddr = peer_addr; + char srcaddr[18], dstaddr[18]; const gchar *dev_path; int state; @@ -1044,19 +1043,29 @@ void hcid_dbus_remote_name(bdaddr_t *local, bdaddr_t *peer, uint8_t status, return; } - ba2str(peer, peer_addr); + ba2str(local, srcaddr); + ba2str(peer, dstaddr); if (!status) { struct btd_device *device; - device = adapter_find_device(adapter, paddr); + device = adapter_find_device(adapter, dstaddr); if (device) { + char alias[248]; dev_path = device_get_path(device); dbus_connection_emit_property_changed(connection, dev_path, DEVICE_INTERFACE, "Name", DBUS_TYPE_STRING, &name); + + if (read_device_alias(srcaddr, dstaddr, + alias, sizeof(alias)) < 1) { + + dbus_connection_emit_property_changed(connection, + dev_path, DEVICE_INTERFACE, + "Alias", DBUS_TYPE_STRING, &name); + } } } |