altosui: Use persistent list of bluetooth devices for device dialogs
[fw/altos] / altosui / libaltos / libaltos.c
index 13635a0da0f2d0b4311112c029926eddd6e91831..2c47f3e531f2b55d975a7a261193cafb17eb6a42 100644 (file)
@@ -591,10 +591,9 @@ struct altos_bt_list {
 };
 
 #define INQUIRY_MAX_RSP        255
-#define INQUIRY_LEN    8
 
 struct altos_bt_list *
-altos_bt_list_start(void)
+altos_bt_list_start(int inquiry_time)
 {
        struct altos_bt_list    *bt_list;
 
@@ -614,7 +613,7 @@ altos_bt_list_start(void)
                goto no_sock;
 
        bt_list->num_rsp = hci_inquiry(bt_list->dev_id,
-                                      INQUIRY_LEN,
+                                      inquiry_time,
                                       INQUIRY_MAX_RSP,
                                       NULL,
                                       &bt_list->ii,
@@ -665,6 +664,15 @@ altos_bt_list_finish(struct altos_bt_list *bt_list)
        free(bt_list);
 }
 
+void
+altos_bt_fill_in(char *name, char *addr, struct altos_bt_device *device)
+{
+       strncpy(device->name, name, sizeof (device->name));
+       device->name[sizeof(device->name)-1] = '\0';
+       strncpy(device->addr, addr, sizeof (device->addr));
+       device->addr[sizeof(device->addr)-1] = '\0';
+}
+
 struct altos_file *
 altos_bt_open(struct altos_bt_device *device)
 {
@@ -768,7 +776,7 @@ get_number(io_object_t object, CFStringRef entry, int *result)
 }
 
 struct altos_list *
-altos_list_start(void)
+altos_list_start(int time)
 {
        struct altos_list *list = calloc (sizeof (struct altos_list), 1);
        CFMutableDictionaryRef matching_dictionary = IOServiceMatching("IOUSBDevice");