Hi:
I found that at bluez CreatDevice signal is not emitted at function 
create_stored_device_from_profile() in src/adapter.c. 
That leads to system can not got the CreatDevice singal when the deivce is 
created though storage. The usage case is that, when I unplug the bluethooth 
usb dongle and then plug in again. System can not get the CreatDevice signal. 
So ConnMan can not handle the CreatDevice signal. 
I have created patch to bluez to fix the issue. Please review, any comments are 
welcome.
diff --git a/src/adapter.c b/src/adapter.c
index 44a93b1..c096375 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -1867,6 +1867,7 @@ static void create_stored_device_from_profiles(char *key, 
char *value,
        struct btd_device *device;
        bdaddr_t dst;
        char srcaddr[18], dstaddr[18];
+       const char *path;
 
        ba2str(&adapter->bdaddr, srcaddr);
 
@@ -1877,6 +1878,12 @@ static void create_stored_device_from_profiles(char 
*key, char *value,
        device = device_create(connection, adapter, key);
        if (!device)
                return;
+
+       path = device_get_path(device);
+       g_dbus_emit_signal(connection, adapter->path,
+                               ADAPTER_INTERFACE, "DeviceCreated",
+                               DBUS_TYPE_OBJECT_PATH, &path,
+                               DBUS_TYPE_INVALID);
 
        device_set_temporary(device, FALSE);
        adapter->devices = g_slist_append(adapter->devices, device);
_______________________________________________
connman mailing list
[email protected]
https://lists.moblin.org/mailman/listinfo/connman

Reply via email to