2001-10-16 Lutz M�ller <urc8@rz.uni-karlsruhe.de>
* frontends/command-line/main.c: Use gp_camera_set_abilities.
* include/gphoto2-camera.h:
* libgphoto2/camera.c:Introduce gp_camera_[set,get]_abilities.
git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@2552 67ed7778-7388-44ab-90cf-0a291f65f57c
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2001-10-16 Lutz Müller <urc8@rz.uni-karlsruhe.de>
|
||||
|
||||
* frontends/command-line/main.c: Use gp_camera_set_abilities.
|
||||
* include/gphoto2-camera.h:
|
||||
* libgphoto2/camera.c:Introduce gp_camera_[set,get]_abilities.
|
||||
|
||||
2001-10-16 Lutz Müller <urc8@rz.uni-karlsruhe.de>
|
||||
|
||||
* libgphoto2/gphoto2-result.[c,h]: GP_ERROR_NOT_SUPPORTED now in
|
||||
|
||||
@@ -837,11 +837,14 @@ OPTION_CALLBACK (about)
|
||||
static int
|
||||
set_globals (void)
|
||||
{
|
||||
CameraAbilities abilities;
|
||||
|
||||
/* takes all the settings and sets up the gphoto lib */
|
||||
|
||||
cli_debug_print ("Setting globals...");
|
||||
CHECK_RESULT (gp_camera_new (&glob_camera));
|
||||
CHECK_RESULT (gp_camera_set_model (glob_camera, glob_model));
|
||||
CHECK_RESULT (gp_camera_abilities_by_name (glob_model, &abilities));
|
||||
CHECK_RESULT (gp_camera_set_abilities (glob_camera, abilities));
|
||||
if (strcmp (glob_model, "Directory Browse"))
|
||||
CHECK_RESULT (gp_camera_set_port_path (glob_camera, glob_port));
|
||||
CHECK_RESULT (gp_camera_set_port_speed (glob_camera, glob_speed));
|
||||
|
||||
@@ -117,6 +117,11 @@ typedef void (* CameraStatusFunc) (Camera *, const char *status, void *data);
|
||||
typedef void (* CameraProgressFunc) (Camera *, float percentage, void *data);
|
||||
|
||||
struct _Camera {
|
||||
|
||||
/*
|
||||
* Don't use, use abilities->model instead. This entry will
|
||||
* disappear at some point in the future.
|
||||
*/
|
||||
char model[128];
|
||||
|
||||
GPPortInfo *port_info;
|
||||
@@ -148,11 +153,11 @@ struct _Camera {
|
||||
|
||||
/* Create a new camera device */
|
||||
int gp_camera_new (Camera **camera);
|
||||
int gp_camera_set_model (Camera *camera, const char *model);
|
||||
int gp_camera_get_model (Camera *camera, const char **model);
|
||||
int gp_camera_set_port_name (Camera *camera, const char *port_name);
|
||||
int gp_camera_set_abilities (Camera *camera, CameraAbilities abilities);
|
||||
int gp_camera_get_abilities (Camera *camera, CameraAbilities *abilities);
|
||||
int gp_camera_set_port_name (Camera *camera, const char *port_name);
|
||||
int gp_camera_get_port_name (Camera *camera, const char **port_name);
|
||||
int gp_camera_set_port_path (Camera *camera, const char *port_path);
|
||||
int gp_camera_set_port_path (Camera *camera, const char *port_path);
|
||||
int gp_camera_get_port_path (Camera *camera, const char **port_path);
|
||||
|
||||
/* Don't use */
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "gphoto2-library.h"
|
||||
#include "gphoto2-debug.h"
|
||||
#include "gphoto2-port-core.h"
|
||||
#include "gphoto2-port-log.h"
|
||||
|
||||
#include <config.h>
|
||||
#ifdef ENABLE_NLS
|
||||
@@ -121,23 +122,57 @@ gp_camera_new (Camera **camera)
|
||||
return(GP_OK);
|
||||
}
|
||||
|
||||
/* DEPRECATED */
|
||||
int gp_camera_set_model (Camera *, const char *);
|
||||
int
|
||||
gp_camera_set_model (Camera *camera, const char *model)
|
||||
{
|
||||
CameraAbilities abilities;
|
||||
|
||||
CHECK_NULL (camera && model);
|
||||
|
||||
gp_debug_printf (GP_DEBUG_LOW, "core", "Setting model to '%s'", model);
|
||||
CHECK_RESULT (gp_camera_abilities_by_name (model, &abilities));
|
||||
CHECK_RESULT (gp_camera_set_abilities (camera, abilities));
|
||||
strncpy (camera->model, model, sizeof (camera->model));
|
||||
|
||||
return (GP_OK);
|
||||
}
|
||||
|
||||
/* DEPRECATED */
|
||||
int gp_camera_get_model (Camera *, const char **);
|
||||
int
|
||||
gp_camera_get_model (Camera *camera, const char **model)
|
||||
{
|
||||
CHECK_NULL (camera && model);
|
||||
|
||||
*model = camera->model;
|
||||
*model = camera->abilities->model;
|
||||
|
||||
return (GP_OK);
|
||||
}
|
||||
|
||||
int
|
||||
gp_camera_set_abilities (Camera *camera, CameraAbilities abilities)
|
||||
{
|
||||
gp_log (GP_LOG_DEBUG, "gphoto2-camera", "Setting abilibites ('%s')...",
|
||||
abilities.model);
|
||||
|
||||
CHECK_NULL (camera);
|
||||
|
||||
memcpy (camera->abilities, &abilities, sizeof (CameraAbilities));
|
||||
|
||||
//FIXME: Remove this. Up to now, some camera drivers still need it.
|
||||
strcpy (camera->model, abilities.model);
|
||||
|
||||
return (GP_OK);
|
||||
}
|
||||
|
||||
int
|
||||
gp_camera_get_abilities (Camera *camera, CameraAbilities *abilities)
|
||||
{
|
||||
CHECK_NULL (camera && abilities);
|
||||
|
||||
memcpy (abilities, camera->abilities, sizeof (CameraAbilities));
|
||||
|
||||
return (GP_OK);
|
||||
}
|
||||
@@ -434,8 +469,8 @@ gp_camera_init (Camera *camera)
|
||||
* If the port or the model hasn't been indicated, try to
|
||||
* figure it out (USB only). Beware of "Directory Browse".
|
||||
*/
|
||||
if (strcmp (camera->model, "Directory Browse")) {
|
||||
if (!camera->port || !strcmp ("", camera->model)) {
|
||||
if (strcmp (camera->abilities->model, "Directory Browse")) {
|
||||
if (!camera->port || !strcmp ("", camera->abilities->model)) {
|
||||
|
||||
/* Call auto-detect and choose the first camera */
|
||||
CRS (camera, gp_autodetect (&list));
|
||||
@@ -451,10 +486,6 @@ gp_camera_init (Camera *camera)
|
||||
return (GP_ERROR_UNKNOWN_PORT);
|
||||
}
|
||||
|
||||
/* Fill in camera abilities. */
|
||||
CRS (camera, gp_camera_abilities_by_name (camera->model,
|
||||
camera->abilities));
|
||||
|
||||
/* In case of USB, find the device */
|
||||
switch (camera->port->type) {
|
||||
case GP_PORT_USB:
|
||||
@@ -466,11 +497,6 @@ gp_camera_init (Camera *camera)
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
/* Fill in camera abilities. */
|
||||
CRS (camera, gp_camera_abilities_by_name (camera->model,
|
||||
camera->abilities));
|
||||
}
|
||||
|
||||
/* Load the library. */
|
||||
|
||||
Reference in New Issue
Block a user