return device_browse_primary(dev, msg, FALSE);
}
-static struct btd_profile *find_connectable_profile(struct btd_device *dev,
+static struct btd_service *find_connectable_service(struct btd_device *dev,
const char *uuid)
{
GSList *l;
continue;
if (strcasecmp(uuid, p->remote_uuid) == 0)
- return p;
+ return service;
}
return NULL;
}
if (uuid) {
- p = find_connectable_profile(dev, uuid);
- if (!p)
+ service = find_connectable_service(dev, uuid);
+ if (!service)
return btd_error_invalid_args(msg);
+ p = btd_service_get_profile(service);
dev->pending = g_slist_prepend(dev->pending, p);
goto start_connect;
void *user_data)
{
struct btd_device *dev = user_data;
- struct btd_profile *p;
struct btd_service *service;
- GSList *l;
const char *pattern;
char *uuid;
int err;
if (uuid == NULL)
return btd_error_invalid_args(msg);
- p = find_connectable_profile(dev, uuid);
+ service = find_connectable_service(dev, uuid);
g_free(uuid);
- if (!p)
+ if (!service)
return btd_error_invalid_args(msg);
- l = find_service_with_profile(dev->services, p);
- service = l->data;
-
err = btd_service_disconnect(service);
if (err == 0) {
dev->disconnect = dbus_message_ref(msg);