summaryrefslogtreecommitdiffstats
path: root/hcid/dbus-adapter.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@nokia.com>2006-08-21 08:54:58 +0000
committerJohan Hedberg <johan.hedberg@nokia.com>2006-08-21 08:54:58 +0000
commit46b2bfea1a997ffacc4c46c53532681efdfa4a52 (patch)
treeb1b86d2b9b0335b5b940ebeecb7f07f554b1be83 /hcid/dbus-adapter.c
parenta40e1911412ced9760813416f162df9ef4f35c88 (diff)
Remove UnknownAddress error (since it's unnecessary)
Diffstat (limited to 'hcid/dbus-adapter.c')
-rw-r--r--hcid/dbus-adapter.c51
1 files changed, 10 insertions, 41 deletions
diff --git a/hcid/dbus-adapter.c b/hcid/dbus-adapter.c
index 0feccf0b..29eb9ab1 100644
--- a/hcid/dbus-adapter.c
+++ b/hcid/dbus-adapter.c
@@ -1351,16 +1351,6 @@ static DBusHandlerResult handle_dev_get_remote_name_req(DBusConnection *conn, DB
if (check_address(peer_addr) < 0)
return error_invalid_arguments(conn, msg);
- /* check if it is a unknown address */
- create_name(filename, PATH_MAX, STORAGEDIR, dbus_data->address, "lastseen");
-
- str = textfile_get(filename, peer_addr);
-
- if (!str)
- return error_unknown_address(conn, msg);
-
- free(str);
-
/* check if it is in the cache */
create_name(filename, PATH_MAX, STORAGEDIR, dbus_data->address, "names");
@@ -1439,18 +1429,17 @@ static DBusHandlerResult handle_dev_get_remote_alias_req(DBusConnection *conn, D
static DBusHandlerResult handle_dev_set_remote_alias_req(DBusConnection *conn, DBusMessage *msg, void *data)
{
- char filename[PATH_MAX + 1];
struct hci_dbus_data *dbus_data = data;
DBusMessage *reply, *signal;
DBusError err;
- char *str_ptr, *addr_ptr, *find_ptr;
+ char *alias, *addr;
bdaddr_t bdaddr;
int ecode;
dbus_error_init(&err);
dbus_message_get_args(msg, &err,
- DBUS_TYPE_STRING, &addr_ptr,
- DBUS_TYPE_STRING, &str_ptr,
+ DBUS_TYPE_STRING, &addr,
+ DBUS_TYPE_STRING, &alias,
DBUS_TYPE_INVALID);
if (dbus_error_is_set(&err)) {
@@ -1459,24 +1448,14 @@ static DBusHandlerResult handle_dev_set_remote_alias_req(DBusConnection *conn, D
return error_invalid_arguments(conn, msg);
}
- if ((strlen(str_ptr) == 0) || (check_address(addr_ptr) < 0)) {
+ if ((strlen(alias) == 0) || (check_address(addr) < 0)) {
error("Alias change failed: Invalid parameter");
return error_invalid_arguments(conn, msg);
}
- /* check if it is a unknown address */
- create_name(filename, PATH_MAX, STORAGEDIR, dbus_data->address, "lastseen");
-
- find_ptr = textfile_get(filename, addr_ptr);
+ str2ba(addr, &bdaddr);
- if (!find_ptr)
- return error_unknown_address(conn, msg);
-
- free(find_ptr);
-
- str2ba(addr_ptr, &bdaddr);
-
- ecode = set_device_alias(dbus_data->dev_id, &bdaddr, str_ptr);
+ ecode = set_device_alias(dbus_data->dev_id, &bdaddr, alias);
if (ecode < 0)
return error_failed(conn, msg, -ecode);
@@ -1485,8 +1464,8 @@ static DBusHandlerResult handle_dev_set_remote_alias_req(DBusConnection *conn, D
return DBUS_HANDLER_RESULT_NEED_MEMORY;
signal = dev_signal_factory(dbus_data->dev_id, "RemoteAliasChanged",
- DBUS_TYPE_STRING, &addr_ptr,
- DBUS_TYPE_STRING, &str_ptr,
+ DBUS_TYPE_STRING, &addr,
+ DBUS_TYPE_STRING, &alias,
DBUS_TYPE_INVALID);
if (signal) {
dbus_connection_send(conn, signal, NULL);
@@ -1701,8 +1680,7 @@ static DBusHandlerResult handle_dev_create_bonding_req(DBusConnection *conn, DBu
auth_requested_cp ar_cp;
evt_cmd_status rp;
DBusError err;
- char *peer_addr = NULL;
- char *str;
+ char *str, *peer_addr = NULL;
struct hci_dbus_data *dbus_data = data;
struct slist *l;
bdaddr_t peer_bdaddr;
@@ -1744,15 +1722,6 @@ static DBusHandlerResult handle_dev_create_bonding_req(DBusConnection *conn, DBu
return error_bonding_already_exists(conn, msg);
}
- /* check if the address belongs to the last seen cache */
- create_name(filename, PATH_MAX, STORAGEDIR, dbus_data->address, "lastseen");
-
- str = textfile_get(filename, peer_addr);
- if (!str)
- return error_unknown_address(conn, msg);
-
- free(str);
-
dd = hci_open_dev(dbus_data->dev_id);
if (dd < 0)
return error_no_such_adapter(conn, msg);
@@ -1852,7 +1821,7 @@ static DBusHandlerResult handle_dev_cancel_bonding_req(DBusConnection *conn, DBu
/* check if there is a pending bonding request */
if (!dbus_data->bonding || bacmp(&dbus_data->bonding->bdaddr, &peer_bdaddr)) {
error("No bonding request pending.");
- return error_unknown_address(conn, msg);
+ return error_bonding_not_in_progress(conn, msg);
}
if (strcmp(dbus_data->requestor_name, dbus_message_get_sender(msg)))