summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--camlibs/kodak/dc3200/dc3200.c13
-rw-r--r--camlibs/kodak/ez200/library.c28
-rw-r--r--camlibs/samsung/samsung.c9
-rw-r--r--camlibs/smal/smal.c12
-rw-r--r--camlibs/sonix/library.c13
-rw-r--r--camlibs/sonydscf1/sonydscf1.c12
-rw-r--r--camlibs/soundvision/soundvision.c20
-rw-r--r--camlibs/spca50x/library.c19
-rw-r--r--camlibs/stv0674/stv0674.c16
-rw-r--r--camlibs/sx330z/library.c10
10 files changed, 82 insertions, 70 deletions
diff --git a/camlibs/kodak/dc3200/dc3200.c b/camlibs/kodak/dc3200/dc3200.c
index fffef5a8f..b4a236798 100644
--- a/camlibs/kodak/dc3200/dc3200.c
+++ b/camlibs/kodak/dc3200/dc3200.c
@@ -448,6 +448,13 @@ static int camera_about (Camera *camera, CameraText *about, GPContext *context)
return (GP_OK);
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .get_info_func = get_info_func,
+ .folder_list_func = folder_list_func
+};
+
int camera_init (Camera *camera, GPContext *context)
{
int ret;
@@ -462,10 +469,7 @@ int camera_init (Camera *camera, GPContext *context)
camera->functions->about = camera_about;
/* Set up the CameraFilesystem */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func,
- folder_list_func, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func, NULL, camera);
- gp_filesystem_set_info_funcs (camera->fs, get_info_func, NULL, camera);
+ gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
/* initialize the camera */
ret = init (camera);
@@ -481,7 +485,6 @@ int camera_init (Camera *camera, GPContext *context)
camera->pl = NULL;
return (ret);
}
-
camera->pl->context = NULL;
return (GP_OK);
}
diff --git a/camlibs/kodak/ez200/library.c b/camlibs/kodak/ez200/library.c
index 1523e16a5..514fc79f3 100644
--- a/camlibs/kodak/ez200/library.c
+++ b/camlibs/kodak/ez200/library.c
@@ -209,6 +209,11 @@ camera_exit (Camera *camera, GPContext *context)
return GP_OK;
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+};
+
int
camera_init(Camera *camera, GPContext *context)
{
@@ -225,15 +230,15 @@ camera_init(Camera *camera, GPContext *context)
if (ret < 0) return ret;
switch (camera->port->type) {
- case GP_PORT_USB:
- settings.usb.config = 1;
- settings.usb.altsetting = 0;
- settings.usb.interface = 1;
- settings.usb.inep = 0x82;
- settings.usb.outep = 0x03;
- break;
- default:
- return ( GP_ERROR );
+ case GP_PORT_USB:
+ settings.usb.config = 1;
+ settings.usb.altsetting = 0;
+ settings.usb.interface = 1;
+ settings.usb.inep = 0x82;
+ settings.usb.outep = 0x03;
+ break;
+ default:
+ return ( GP_ERROR );
}
ret = gp_port_set_settings(camera->port,settings);
@@ -244,8 +249,7 @@ camera_init(Camera *camera, GPContext *context)
GP_DEBUG("outep = %x\n", settings.usb.outep);
/* Tell the CameraFilesystem where to get lists from */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func, NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func, NULL, camera);
+ gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
camera->pl = malloc (sizeof (CameraPrivateLibrary));
if (!camera->pl) return GP_ERROR_NO_MEMORY;
@@ -253,8 +257,6 @@ camera_init(Camera *camera, GPContext *context)
/* Connect to the camera */
ez200_init (camera->port, &camera->pl->model, camera->pl->info);
-
GP_DEBUG("fin_camera_init\n");
-
return GP_OK;
}
diff --git a/camlibs/samsung/samsung.c b/camlibs/samsung/samsung.c
index 1313687ab..d3845f0f0 100644
--- a/camlibs/samsung/samsung.c
+++ b/camlibs/samsung/samsung.c
@@ -312,6 +312,11 @@ get_info_func (CameraFilesystem *fs, const char *folder, const char *filename,
return (GP_OK);
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .get_info_func = get_info_func
+};
int
camera_init (Camera *camera, GPContext *context)
@@ -322,9 +327,7 @@ camera_init (Camera *camera, GPContext *context)
camera->functions->about = camera_about;
/* Now, tell the filesystem where to get lists and info */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func, NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func, NULL, camera);
- gp_filesystem_set_info_funcs (camera->fs, get_info_func, NULL, camera);
+ gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
/* Some settings */
CHECK_RESULT (gp_port_get_settings (camera->port, &settings));
diff --git a/camlibs/smal/smal.c b/camlibs/smal/smal.c
index 7111835d7..1b0db3906 100644
--- a/camlibs/smal/smal.c
+++ b/camlibs/smal/smal.c
@@ -186,6 +186,13 @@ file_list_func (CameraFilesystem *fs, const char *folder, CameraList *list,
return (GP_OK);
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .del_file_func = delete_file_func,
+ .delete_all_func = delete_all_func,
+};
+
int
camera_init (Camera *camera, GPContext *context)
{
@@ -194,10 +201,7 @@ camera_init (Camera *camera, GPContext *context)
camera->functions->exit = camera_exit;
camera->functions->about = camera_about;
- gp_filesystem_set_list_funcs (camera->fs, file_list_func,NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func,delete_file_func, camera);
- gp_filesystem_set_folder_funcs (camera->fs,NULL,delete_all_func, NULL,NULL,camera);
-
+ gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
badge = BADGE_UNKNOWN;
gp_camera_get_abilities(camera, &cab);
switch (cab.usb_vendor) {
diff --git a/camlibs/sonix/library.c b/camlibs/sonix/library.c
index 81fae6259..b07ba5e9f 100644
--- a/camlibs/sonix/library.c
+++ b/camlibs/sonix/library.c
@@ -254,6 +254,12 @@ camera_exit (Camera *camera, GPContext *context)
return GP_OK;
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .delete_all_func = delete_all_func
+};
+
int
camera_init(Camera *camera, GPContext *context)
{
@@ -292,12 +298,7 @@ camera_init(Camera *camera, GPContext *context)
GP_DEBUG("outep = %x\n", settings.usb.outep);
/* Tell the CameraFilesystem where to get lists from */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func,
- NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func,
- NULL, camera);
- gp_filesystem_set_folder_funcs (camera->fs, NULL, delete_all_func,
- NULL, NULL, camera);
+ gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
camera->pl = malloc (sizeof (CameraPrivateLibrary));
if (!camera->pl) return GP_ERROR_NO_MEMORY;
diff --git a/camlibs/sonydscf1/sonydscf1.c b/camlibs/sonydscf1/sonydscf1.c
index bb31927ab..bc9b81bbb 100644
--- a/camlibs/sonydscf1/sonydscf1.c
+++ b/camlibs/sonydscf1/sonydscf1.c
@@ -150,6 +150,12 @@ static int file_list_func (CameraFilesystem *fs, const char *folder,
return GP_OK;
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .del_file_func = delete_file_func,
+};
+
int camera_init (Camera *camera, GPContext *context) {
GPPortSettings settings;
@@ -169,10 +175,6 @@ int camera_init (Camera *camera, GPContext *context) {
gp_port_set_settings (camera->port, settings);
/* Set up the filesystem */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func, NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func,
- delete_file_func, camera);
-
- return (GP_OK);
+ return gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
}
diff --git a/camlibs/soundvision/soundvision.c b/camlibs/soundvision/soundvision.c
index a7eb44cf0..8bdf68355 100644
--- a/camlibs/soundvision/soundvision.c
+++ b/camlibs/soundvision/soundvision.c
@@ -426,7 +426,12 @@ static int put_file_func (CameraFilesystem *fs, const char *folder,
return GP_OK;
}
-
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .put_file_func = put_file_func,
+ .del_file_func = delete_file_func,
+};
int camera_init(Camera *camera, GPContext *context) {
@@ -496,16 +501,7 @@ int camera_init(Camera *camera, GPContext *context) {
camera->pl = NULL;
return (ret);
}
-
- /* Tell the CameraFilesystem where to get lists from */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func, NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func, delete_file_func,
- camera);
- gp_filesystem_set_folder_funcs (camera->fs, put_file_func,
- NULL, NULL, NULL, camera);
-
-
-
- return GP_OK;
+ /* Tell the CameraFilesystem where to get lists from */
+ return gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
}
diff --git a/camlibs/spca50x/library.c b/camlibs/spca50x/library.c
index 0e5f0550b..65ba11298 100644
--- a/camlibs/spca50x/library.c
+++ b/camlibs/spca50x/library.c
@@ -536,6 +536,14 @@ delete_all_func (CameraFilesystem *fs, const char *folder, void *data,
return GP_OK;
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .get_info_func = get_info_func,
+ .del_file_func = delete_file_func,
+ .delete_all_func = delete_all_func,
+};
+
int
camera_init (Camera *camera, GPContext *context)
{
@@ -633,16 +641,7 @@ camera_init (Camera *camera, GPContext *context)
}
/* Set up the CameraFilesystem */
- CHECK (gp_filesystem_set_list_funcs
- (camera->fs, file_list_func, NULL, camera));
- CHECK (gp_filesystem_set_file_funcs
- (camera->fs, get_file_func, delete_file_func, camera));
- CHECK (gp_filesystem_set_info_funcs
- (camera->fs, get_info_func, NULL, camera));
- CHECK (gp_filesystem_set_folder_funcs
- (camera->fs, NULL, delete_all_func, NULL, NULL, camera));
-
- return (GP_OK);
+ return gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
}
static int
diff --git a/camlibs/stv0674/stv0674.c b/camlibs/stv0674/stv0674.c
index ab4444b4b..74e77186c 100644
--- a/camlibs/stv0674/stv0674.c
+++ b/camlibs/stv0674/stv0674.c
@@ -218,6 +218,12 @@ delete_all_func (CameraFilesystem *fs, const char* folder, void *data,
return stv0674_delete_all(camera->port);
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .delete_all_func = delete_all_func
+};
+
int camera_init (Camera *camera, GPContext *context)
{
GPPortSettings settings;
@@ -250,14 +256,8 @@ int camera_init (Camera *camera, GPContext *context)
gp_context_error (context, _("Could not apply USB settings"));
return ret;
}
-
/* Set up the filesystem */
- gp_filesystem_set_list_funcs (camera->fs, file_list_func, NULL, camera);
- gp_filesystem_set_file_funcs (camera->fs, get_file_func, NULL, camera);
-
- gp_filesystem_set_folder_funcs (camera->fs, NULL, delete_all_func, NULL, NULL, camera);
-
+ gp_filesystem_set_funcs (camera->fs, &fsfuncs, camera);
/* test camera */
- ret = stv0674_ping(camera->port);
- return (ret);
+ return stv0674_ping(camera->port);
}
diff --git a/camlibs/sx330z/library.c b/camlibs/sx330z/library.c
index d3d8976e4..eda3834fe 100644
--- a/camlibs/sx330z/library.c
+++ b/camlibs/sx330z/library.c
@@ -271,6 +271,11 @@ camera_exit(Camera *camera, GPContext *context)
}
+static CameraFilesystemFuncs fsfuncs = {
+ .file_list_func = file_list_func,
+ .get_file_func = get_file_func,
+ .del_file_func = del_file_func
+};
/*
* OK, lets get serious !
@@ -296,10 +301,7 @@ camera_init(Camera *camera,GPContext *context)
CR(gp_port_set_settings(camera->port,settings));
CR(gp_port_set_timeout(camera->port,TIMEOUT));
- /* Todo : fs support */
-/* CR(gp_filesystem_set_info_funcs(camera->fs,get_info_func,NULL,camera));*/
- CR(gp_filesystem_set_list_funcs(camera->fs,file_list_func,NULL,camera));
- CR(gp_filesystem_set_file_funcs(camera->fs,get_file_func,del_file_func,camera));
+ CR(gp_filesystem_set_funcs(camera->fs, &fsfuncs, camera));
camera->pl=malloc(sizeof(CameraPrivateLibrary));
if (!camera->pl)