? .deps ? .libs ? Makefile ? Makefile.in ? hcid ? lexer.c ? parser.c ? parser.h Index: dbus-api.txt =================================================================== RCS file: /cvsroot/bluez/utils/hcid/dbus-api.txt,v retrieving revision 1.110 diff -a -u -r1.110 dbus-api.txt --- dbus-api.txt 22 Mar 2007 01:56:44 -0000 1.110 +++ dbus-api.txt 30 Mar 2007 16:02:35 -0000 @@ -1030,6 +1030,11 @@ This signal will be sent every time the service daemon tries to resolve a remote and this fails. + void RemoteNameRequested(string address) + + This signal will be sent every time the service daemon + tries to resolve a remote name during discovery. + void RemoteAliasChanged(string address, string alias) After changing an alias with SetRemoteAlias this Index: dbus-hci.c =================================================================== RCS file: /cvsroot/bluez/utils/hcid/dbus-hci.c,v retrieving revision 1.16 diff -a -u -r1.16 dbus-hci.c --- dbus-hci.c 26 Feb 2007 14:13:50 -0000 1.16 +++ dbus-hci.c 30 Mar 2007 16:02:36 -0000 @@ -1005,7 +1005,7 @@ /* send at least one request or return failed if the list is empty */ do { - DBusMessage *failed_signal = NULL; + DBusMessage *signal = NULL; struct remote_dev_info *dev = l->data; char *peer_addr; bdaddr_t tmp; @@ -1023,7 +1023,7 @@ if (hci_send_req(dd, &rq, 500) < 0) { error("Unable to send the HCI remote name request: %s (%d)", strerror(errno), errno); - failed_signal = dev_signal_factory(adapter->dev_id, + signal = dev_signal_factory(adapter->dev_id, "RemoteNameFailed", DBUS_TYPE_STRING, &peer_addr, DBUS_TYPE_INVALID); @@ -1032,21 +1032,32 @@ if (rp.status) { error("Remote name request failed with status 0x%02x", rp.status); - failed_signal = dev_signal_factory(adapter->dev_id, + signal = dev_signal_factory(adapter->dev_id, "RemoteNameFailed", DBUS_TYPE_STRING, &peer_addr, DBUS_TYPE_INVALID); } + if (!signal) { + req_sent = 1; + /* if we are in discovery, inform application of getting name */ + if (adapter->discov_type & (STD_INQUIRY | PERIODIC_INQUIRY)) { + signal = dev_signal_factory(adapter->dev_id, + "RemoteNameRequested", + DBUS_TYPE_STRING, &peer_addr, + DBUS_TYPE_INVALID); + } + } + free(peer_addr); - if (!failed_signal) { - req_sent = 1; - break; + if (signal) { + send_message_and_unref(connection, signal); + signal = NULL; } - send_message_and_unref(connection, failed_signal); - failed_signal = NULL; + if (req_sent) + break; /* if failed, request the next element */ /* remove the element from the list */