Details
enum CameraDriverStatus
typedef enum {
GP_DRIVER_STATUS_PRODUCTION,
GP_DRIVER_STATUS_TESTING,
GP_DRIVER_STATUS_EXPERIMENTAL,
GP_DRIVER_STATUS_DEPRECATED
} CameraDriverStatus;
enum CameraOperation
typedef enum {
GP_OPERATION_NONE = 0,
GP_OPERATION_CAPTURE_IMAGE = 1 << 0,
GP_OPERATION_CAPTURE_VIDEO = 1 << 1,
GP_OPERATION_CAPTURE_AUDIO = 1 << 2,
GP_OPERATION_CAPTURE_PREVIEW = 1 << 3,
GP_OPERATION_CONFIG = 1 << 4
} CameraOperation;
enum CameraFileOperation
typedef enum {
GP_FILE_OPERATION_NONE = 0,
GP_FILE_OPERATION_DELETE = 1 << 1,
GP_FILE_OPERATION_PREVIEW = 1 << 3,
GP_FILE_OPERATION_RAW = 1 << 4,
GP_FILE_OPERATION_AUDIO = 1 << 5,
GP_FILE_OPERATION_EXIF = 1 << 6
} CameraFileOperation;
enum CameraFolderOperation
typedef enum {
GP_FOLDER_OPERATION_NONE = 0,
GP_FOLDER_OPERATION_DELETE_ALL = 1 << 0,
GP_FOLDER_OPERATION_PUT_FILE = 1 << 1,
GP_FOLDER_OPERATION_MAKE_DIR = 1 << 2,
GP_FOLDER_OPERATION_REMOVE_DIR = 1 << 3
} CameraFolderOperation;
CameraAbilities
typedef struct {
char model [128]; /**< name of camera model */
CameraDriverStatus status; /**< driver quality */
/** Supported port. */
GPPortType port;
/** Supported port speeds (terminated with a value of 0). */
int speed [64];
/* Supported operations */
CameraOperation operations; /**< camera operation funcs */
CameraFileOperation file_operations; /**< camera file op funcs */
CameraFolderOperation folder_operations;/**< camera folder op funcs */
int usb_vendor; /**< USB Vendor D */
int usb_product; /**< USB Product ID */
int usb_class; /**< USB device class */
int usb_subclass; /**< USB device subclass */
int usb_protocol; /**< USB device protocol */
/* For core use */
char library [1024]; /**< \internal */
char id [1024]; /**< \internal */
/* Reserved space to use in the future w/out changing the
* struct size */
int reserved1; /**< reserved space \internal */
int reserved2; /**< reserved space \internal */
int reserved3; /**< reserved space \internal */
int reserved4; /**< reserved space \internal */
int reserved5; /**< reserved space \internal */
int reserved6; /**< reserved space \internal */
int reserved7; /**< reserved space \internal */
int reserved8; /**< reserved space \internal */
} CameraAbilities;
CameraAbilitiesList
typedef struct _CameraAbilitiesList CameraAbilitiesList;
gp_abilities_list_load ()
int gp_abilities_list_load (CameraAbilitiesList *list,
GPContext *context);
gp_abilities_list_lookup_model ()
int gp_abilities_list_lookup_model (CameraAbilitiesList *list,
const char *model);