libgphoto2 photo camera library (libgphoto2) API
2.5.10.1
|
Functions | |
int | camera_id (CameraText *id) |
Get a unique camera id. More... | |
int | camera_abilities (CameraAbilitiesList *list) |
Get a list of abilities of all supported cameras. More... | |
int | camera_init (Camera *camera) |
Initialize the camera. More... | |
int camera_abilities | ( | CameraAbilitiesList * | list | ) |
Get a list of abilities of all supported cameras.
list | a CameraAbilitiesList |
This function should use gp_abilities_list_append as many times as the number of models the camera driver supports. That is, fill out (in a loop) the CameraAbilities for each model and append each of those to the supplied list using gp_abilities_list_append(). Then, return GP_OK.
int camera_id | ( | CameraText * | id | ) |
Get a unique camera id.
id | a CameraText that receives the id string |
This function should write a unique id into id and return GP_OK. That is, choose a unique id, use strncpy in order to copy it into the id, and return GP_OK. The driver name should suffice.
int camera_init | ( | Camera * | camera | ) |
Initialize the camera.
camera | a Camera |
This is the most interesting function in your library. Here, you tell gphoto2 what operations your camera supports and you try to connect to the camera. That is, access camera->functions directly and set them to your implementation (if you have any). Then, tell the CameraFilesystem (available in #camera->fs) how to retrieve lists (gp_filesystem_set_list_funcs()), how to retrieve or set file information (gp_filesystem_set_info_funcs()), how to get or delete files (gp_filesystem_set_file_funcs()), or how to put files or delete all files in a folder (#gp_filesystem_set_folder_funcs). After that, configure the port (#camera->port) which is already opened by gphoto2. You just have to call gp_port_settings_get(), adjust the settings, call gp_port_settings_set(), and try to write to and read from the port. If the camera responds, return GP_OK. If not, return some meaningful error code.
References GP_OK.