diff --git a/plugins/dbusoob.c b/plugins/dbusoob.c
index 7d9a858..3379f73 100644
--- a/plugins/dbusoob.c
+++ b/plugins/dbusoob.c
if (data->class)
device_set_class(device, data->class);
- if (data->name)
- btd_event_remote_name(adapter_get_address(adapter), &bdaddr,
- data->name);
+ if (data->name) {
+ adapter_store_cached_name(adapter_get_address(adapter),
+ &bdaddr, data->name);
+ device_set_name(device, data->name);
+ }
return TRUE;
}
diff --git a/plugins/neard.c b/plugins/neard.c
index ed7a2b9..114d59c 100644
--- a/plugins/neard.c
+++ b/plugins/neard.c
device_set_class(device, eir_data.class);
/* TODO handle incomplete name? */
- if (eir_data.name)
- btd_event_remote_name(adapter_get_address(adapter),
+ if (eir_data.name) {
+ adapter_store_cached_name(adapter_get_address(adapter),
&eir_data.addr, eir_data.name);
+ device_set_name(device, eir_data.name);
+ }
if (eir_data.hash)
btd_adapter_add_remote_oob_data(adapter, &eir_data.addr,
DBG("hci%u remote:%s", adapter_get_dev_id(adapter), remote_address);
if (nokia.name) {
- btd_event_remote_name(adapter_get_address(adapter), remote,
+ adapter_store_cached_name(adapter_get_address(adapter), remote,
nokia.name);
+ device_set_name(device, nokia.name);
g_free(nokia.name);
}
diff --git a/src/adapter.c b/src/adapter.c
index a0ae04c..3c67f8a 100644
--- a/src/adapter.c
+++ b/src/adapter.c
g_key_file_free(key_file);
}
-static void store_cached_name(const bdaddr_t *local, const bdaddr_t *peer,
- char *name)
+void adapter_store_cached_name(const bdaddr_t *local, const bdaddr_t *peer,
+ const char *name)
{
char filename[PATH_MAX + 1];
char s_addr[18], d_addr[18];
str2ba(address, &local);
str2ba(str, &peer);
- store_cached_name(&local, &peer, value);
+ adapter_store_cached_name(&local, &peer, value);
}
struct device_converter {
eir_data.appearance);
if (eir_data.name != NULL && eir_data.name_complete)
- store_cached_name(&adapter->bdaddr, bdaddr, eir_data.name);
+ adapter_store_cached_name(&adapter->bdaddr, bdaddr,
+ eir_data.name);
/* Avoid creating LE device if it's not discoverable */
if (bdaddr_type != BDADDR_BREDR &&
diff --git a/src/adapter.h b/src/adapter.h
index 54f9ea7..e131e6d 100644
--- a/src/adapter.h
+++ b/src/adapter.h
void btd_adapter_set_oob_handler(struct btd_adapter *adapter,
struct oob_handler *handler);
gboolean btd_adapter_check_oob_handler(struct btd_adapter *adapter);
+void adapter_store_cached_name(const bdaddr_t *local, const bdaddr_t *peer,
+ const char *name);
diff --git a/src/event.c b/src/event.c
index 7fb71a1..d9d4e41 100644
--- a/src/event.c
+++ b/src/event.c
return TRUE;
}
-void btd_event_remote_name(const bdaddr_t *local, bdaddr_t *peer,
- const char *name)
-{
- char filename[PATH_MAX + 1];
- char local_addr[18], peer_addr[18];
- GKeyFile *key_file;
- gsize length = 0;
- char *data;
-
- ba2str(local, local_addr);
- ba2str(peer, peer_addr);
- snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local_addr,
- peer_addr);
- filename[PATH_MAX] = '\0';
- create_file(filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
-
- key_file = g_key_file_new();
- g_key_file_load_from_file(key_file, filename, 0, NULL);
- g_key_file_set_string(key_file, "General", "Name", name);
-
- data = g_key_file_to_data(key_file, &length, NULL);
- g_file_set_contents(filename, data, length, NULL);
- g_free(data);
-
- g_key_file_free(key_file);
-}
-
static void store_longtermkey(bdaddr_t *local, bdaddr_t *peer,
uint8_t bdaddr_type, unsigned char *key,
uint8_t master, uint8_t authenticated,
diff --git a/src/event.h b/src/event.h
index dcfb23c..1788a80 100644
--- a/src/event.h
+++ b/src/event.h
*
*/
-void btd_event_remote_name(const bdaddr_t *local, bdaddr_t *peer,
- const char *name);
int btd_event_link_key_notify(bdaddr_t *local, bdaddr_t *peer, uint8_t *key,
uint8_t key_type, uint8_t pin_length);
int btd_event_ltk_notify(bdaddr_t *local, bdaddr_t *peer, uint8_t bdaddr_type,
diff --git a/src/mgmt.c b/src/mgmt.c
index 6dc7cef..ad6a4fb 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
adapter_add_connection(adapter, device);
if (eir_data.name != NULL) {
- btd_event_remote_name(&info->bdaddr, &ev->addr.bdaddr,
+ adapter_store_cached_name(&info->bdaddr, &ev->addr.bdaddr,
eir_data.name);
device_set_name(device, eir_data.name);
}