diff --git a/src/adapter.c b/src/adapter.c
index 9a0f688..7049ba6 100644
--- a/src/adapter.c
+++ b/src/adapter.c
void *user_data)
{
struct btd_adapter *adapter = user_data;
- GSList *uuids = bt_string2list(value);
+ GSList *list, *uuids = bt_string2list(value);
struct btd_device *device;
if (g_slist_find_custom(adapter->devices,
adapter->devices = g_slist_append(adapter->devices, device);
device_probe_drivers(device, uuids);
+ list = device_services_from_record(device, uuids);
+ if (list)
+ device_register_services(connection, device, list, 31);
g_slist_foreach(uuids, (GFunc) g_free, NULL);
g_slist_free(uuids);
diff --git a/src/device.c b/src/device.c
index 86f605a..44bf76f 100644
--- a/src/device.c
+++ b/src/device.c
g_dbus_send_message(req->conn, reply);
}
-static GSList *primary_from_record(struct btd_device *device, GSList *profiles)
+GSList *device_services_from_record(struct btd_device *device, GSList *profiles)
{
GSList *l, *prim_list = NULL;
char *att_uuid;
device_probe_drivers(device, req->profiles_added);
- list = primary_from_record(device, req->profiles_added);
+ list = device_services_from_record(device, req->profiles_added);
if (list)
device_register_services(req->conn, device, list, 31);
}
diff --git a/src/device.h b/src/device.h
index 2432884..370382d 100644
--- a/src/device.h
+++ b/src/device.h
GSList *btd_device_get_primaries(struct btd_device *device);
void device_register_services(DBusConnection *conn, struct btd_device *device,
GSList *prim_list, int psm);
+GSList *device_services_from_record(struct btd_device *device,
+ GSList *profiles);
void btd_device_add_uuid(struct btd_device *device, const char *uuid);
struct btd_adapter *device_get_adapter(struct btd_device *device);
void device_get_address(struct btd_device *device, bdaddr_t *bdaddr);