diff options
-rw-r--r-- | examples/autodetect.c | 40 |
1 files changed, 2 insertions, 38 deletions
diff --git a/examples/autodetect.c b/examples/autodetect.c index 4814aabad..c610233c0 100644 --- a/examples/autodetect.c +++ b/examples/autodetect.c @@ -16,44 +16,8 @@ static CameraAbilitiesList *abilities = NULL; */ int sample_autodetect (CameraList *list, GPContext *context) { - int ret, i; - CameraList *xlist = NULL; - - ret = gp_list_new (&xlist); - if (ret < GP_OK) goto out; - if (!portinfolist) { - /* Load all the port drivers we have... */ - ret = gp_port_info_list_new (&portinfolist); - if (ret < GP_OK) goto out; - ret = gp_port_info_list_load (portinfolist); - if (ret < 0) goto out; - ret = gp_port_info_list_count (portinfolist); - if (ret < 0) goto out; - } - /* Load all the camera drivers we have... */ - ret = gp_abilities_list_new (&abilities); - if (ret < GP_OK) goto out; - ret = gp_abilities_list_load (abilities, context); - if (ret < GP_OK) goto out; - - /* ... and autodetect the currently attached cameras. */ - ret = gp_abilities_list_detect (abilities, portinfolist, xlist, context); - if (ret < GP_OK) goto out; - - /* Filter out the "usb:" entry */ - ret = gp_list_count (xlist); - if (ret < GP_OK) goto out; - for (i=0;i<ret;i++) { - const char *name, *value; - - gp_list_get_name (xlist, i, &name); - gp_list_get_value (xlist, i, &value); - if (!strcmp ("usb:",value)) continue; - gp_list_append (list, name, value); - } -out: - gp_list_free (xlist); - return gp_list_count(list); + gp_list_reset (&list); + return gp_camera_autodetect (list, context); } /* |