diff options
Diffstat (limited to 'hcid')
-rw-r--r-- | hcid/adapter.c | 2 | ||||
-rw-r--r-- | hcid/device.c | 5 | ||||
-rw-r--r-- | hcid/device.h | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/hcid/adapter.c b/hcid/adapter.c index 15209333..60f3a58f 100644 --- a/hcid/adapter.c +++ b/hcid/adapter.c @@ -1673,7 +1673,7 @@ static DBusMessage *remove_device(DBusConnection *conn, "Device does not exist"); device = l->data; - if (device->temporary || device->discov_active) + if (device->temporary || device_is_busy(device)) return g_dbus_create_error(msg, ERROR_INTERFACE ".DoesNotExist", "Device creation in progress"); diff --git a/hcid/device.c b/hcid/device.c index 06c5db4f..49017707 100644 --- a/hcid/device.c +++ b/hcid/device.c @@ -968,6 +968,11 @@ void device_set_agent(struct device *device, struct agent *agent) device->agent = agent; } +gboolean device_is_busy(struct device *device) +{ + return device->discov_active ? TRUE : FALSE; +} + int btd_register_device_driver(struct btd_device_driver *driver) { const char **uuid; diff --git a/hcid/device.h b/hcid/device.h index 038e9764..d30104ea 100644 --- a/hcid/device.h +++ b/hcid/device.h @@ -61,6 +61,7 @@ const gchar *device_get_address(struct device *device); const gchar *device_get_path(struct device *device); struct agent *device_get_agent(struct device *device); void device_set_agent(struct device *device, struct agent *agent); +gboolean device_is_busy(struct device *device); #define BTD_UUIDS(args...) ((const char *[]) { args, NULL } ) |