diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2006-02-20 14:08:09 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2006-02-20 14:08:09 +0000 |
commit | 2387fff7fa0647f87b2978550ac89f2016bbcd4e (patch) | |
tree | deb8f809160f94a10e90cbaec7308147b00a4efc | |
parent | d452db97fd3b0f8254bbee44917ca0c3cfec2b12 (diff) |
Fix result signal for bonding creation
-rw-r--r-- | hcid/dbus.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/hcid/dbus.c b/hcid/dbus.c index 853c2589..b92e9b77 100644 --- a/hcid/dbus.c +++ b/hcid/dbus.c @@ -453,6 +453,7 @@ void hcid_dbus_bonding_created_complete(bdaddr_t *local, bdaddr_t *peer, const u { DBusMessage *message = NULL; char *local_addr, *peer_addr; + const char *name; bdaddr_t tmp; char path[MAX_PATH_LENGTH]; int id; @@ -468,17 +469,21 @@ void hcid_dbus_bonding_created_complete(bdaddr_t *local, bdaddr_t *peer, const u snprintf(path, sizeof(path), "%s/hci%d", DEVICE_PATH, id); - message = dbus_message_new_signal(path, DEVICE_INTERFACE, - DEV_SIG_BONDING_CREATED); + /* + * 0x00: authentication request successfully completed + * 0x01-0x0F: authentication request failed + */ + name = status ? DEV_SIG_BONDING_FAILED : DEV_SIG_BONDING_CREATED; + + message = dbus_message_new_signal(path, DEVICE_INTERFACE, name); + if (message == NULL) { syslog(LOG_ERR, "Can't allocate D-BUS remote name message"); goto failed; } - /*FIXME: create the signal based on status value - BondingCreated or BondingFailed*/ dbus_message_append_args(message, DBUS_TYPE_STRING, &peer_addr, - DBUS_TYPE_BYTE, &status, DBUS_TYPE_INVALID); if (dbus_connection_send(connection, message, NULL) == FALSE) { |