libgphoto2 photo camera library (libgphoto2) API 2.5.31

gphoto2-abilities-list.h
Go to the documentation of this file.
1
24
25#ifndef LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H
26#define LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H
27
28#include <gphoto2/gphoto2-context.h>
29#include <gphoto2/gphoto2-list.h>
30#include <gphoto2/gphoto2-port-info-list.h>
31
32#include <gphoto2/gphoto2-port-log.h>
33
34#ifdef __cplusplus
35 extern "C" {
36#endif /* __cplusplus */
37
41 typedef enum {
42 GP_DRIVER_STATUS_PRODUCTION,
43 GP_DRIVER_STATUS_TESTING,
44 GP_DRIVER_STATUS_EXPERIMENTAL,
45 GP_DRIVER_STATUS_DEPRECATED
46} CameraDriverStatus;
47
52 typedef enum {
53 GP_DEVICE_STILL_CAMERA = 0,
54 GP_DEVICE_AUDIO_PLAYER = 1 << 0
55} GphotoDeviceType;
56
61 typedef enum {
62 GP_OPERATION_NONE = 0,
63 GP_OPERATION_CAPTURE_IMAGE = 1 << 0,
64 GP_OPERATION_CAPTURE_VIDEO = 1 << 1,
65 GP_OPERATION_CAPTURE_AUDIO = 1 << 2,
66 GP_OPERATION_CAPTURE_PREVIEW = 1 << 3,
67 GP_OPERATION_CONFIG = 1 << 4,
68 GP_OPERATION_TRIGGER_CAPTURE = 1 << 5
69} CameraOperation;
70
74 typedef enum {
75 GP_FILE_OPERATION_NONE = 0,
76 GP_FILE_OPERATION_DELETE = 1 << 1,
77 GP_FILE_OPERATION_PREVIEW = 1 << 3,
78 GP_FILE_OPERATION_RAW = 1 << 4,
79 GP_FILE_OPERATION_AUDIO = 1 << 5,
80 GP_FILE_OPERATION_EXIF = 1 << 6
81} CameraFileOperation;
82
86 typedef enum {
87 GP_FOLDER_OPERATION_NONE = 0,
88 GP_FOLDER_OPERATION_DELETE_ALL = 1 << 0,
89 GP_FOLDER_OPERATION_PUT_FILE = 1 << 1,
90 GP_FOLDER_OPERATION_MAKE_DIR = 1 << 2,
91 GP_FOLDER_OPERATION_REMOVE_DIR = 1 << 3
92} CameraFolderOperation;
93
94#ifdef _GPHOTO2_INTERNAL_CODE
95
96 /* enum CameraOperation */
97 extern const StringFlagItem gpi_camera_operation_map[];
98
99 /* enum CameraFileOperation */
100 extern const StringFlagItem gpi_file_operation_map[];
101
102 /* enum CameraFolderOperation */
103 extern const StringFlagItem gpi_folder_operation_map[];
104
105 /* enum GphotoDeviceType */
106 extern const StringFlagItem gpi_gphoto_device_type_map[];
107
108 /* enum CameraDriverStatus */
109 extern const StringFlagItem gpi_camera_driver_status_map[];
110
111#endif /* _GPHOTO2_INTERNAL_CODE */
112
113
120 typedef struct {
121 char model [128];
122 CameraDriverStatus status;
123
125 GPPortType port;
127 int speed [64];
128
129 /* Supported operations */
130 CameraOperation operations;
131 CameraFileOperation file_operations;
132 CameraFolderOperation folder_operations;
133
134 int usb_vendor;
135 int usb_product;
136 int usb_class;
137 int usb_subclass;
138 int usb_protocol;
139
140 /* For core use */
141 char library [1024];
142 char id [1024];
143
144 GphotoDeviceType device_type;
147 int reserved2;
148 int reserved3;
149 int reserved4;
150 int reserved5;
151 int reserved6;
152 int reserved7;
153 int reserved8;
154} CameraAbilities;
155
156
162 typedef struct _CameraAbilitiesList CameraAbilitiesList;
163
164
165 int gp_abilities_list_new (CameraAbilitiesList **list);
166 int gp_abilities_list_free (CameraAbilitiesList *list);
167
168 int gp_abilities_list_load (CameraAbilitiesList *list, GPContext *context);
169 int gp_abilities_list_load_dir (CameraAbilitiesList *list, const char *dir, GPContext *context);
170 int gp_abilities_list_reset (CameraAbilitiesList *list);
171
172 int gp_abilities_list_detect (CameraAbilitiesList *list,
173 GPPortInfoList *info_list, CameraList *l,
174 GPContext *context);
175
176 int gp_abilities_list_append (CameraAbilitiesList *list,
177 CameraAbilities abilities);
178
179 int gp_abilities_list_count (CameraAbilitiesList *list);
180
181 int gp_abilities_list_lookup_model (CameraAbilitiesList *list,
182 const char *model);
183
184 int gp_abilities_list_get_abilities (CameraAbilitiesList *list, int index,
185 CameraAbilities *abilities);
186
187 const char *gp_message_codeset (const char *);
188
189 int gp_init_localedir (const char *localedir);
190
191
199#ifdef _GPHOTO2_INTERNAL_CODE
200#define CAMLIBDIR_ENV "CAMLIBS"
201#endif /* _GPHOTO2_INTERNAL_CODE */
202
203
204#ifdef __cplusplus
205}
206#endif /* __cplusplus */
207
208#endif /* !defined(LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H) */
gp_abilities_list_lookup_model
int gp_abilities_list_lookup_model(CameraAbilitiesList *list, const char *model)
Search the list for an entry of given model name.
Definition gphoto2-abilities-list.c:652
gp_abilities_list_load
int gp_abilities_list_load(CameraAbilitiesList *list, GPContext *context)
Scans the system for camera drivers.
Definition gphoto2-abilities-list.c:347
gp_abilities_list_new
int gp_abilities_list_new(CameraAbilitiesList **list)
Allocate the memory for a new abilities list.
Definition gphoto2-abilities-list.c:135
gp_abilities_list_reset
int gp_abilities_list_reset(CameraAbilitiesList *list)
Reset the list.
Definition gphoto2-abilities-list.c:586
CameraFileOperation
CameraFileOperation
Definition gphoto2-abilities-list.h:74
GP_FILE_OPERATION_RAW
@ GP_FILE_OPERATION_RAW
Definition gphoto2-abilities-list.h:78
GP_FILE_OPERATION_EXIF
@ GP_FILE_OPERATION_EXIF
Definition gphoto2-abilities-list.h:80
GP_FILE_OPERATION_PREVIEW
@ GP_FILE_OPERATION_PREVIEW
Definition gphoto2-abilities-list.h:77
GP_FILE_OPERATION_NONE
@ GP_FILE_OPERATION_NONE
Definition gphoto2-abilities-list.h:75
GP_FILE_OPERATION_DELETE
@ GP_FILE_OPERATION_DELETE
Definition gphoto2-abilities-list.h:76
GP_FILE_OPERATION_AUDIO
@ GP_FILE_OPERATION_AUDIO
Definition gphoto2-abilities-list.h:79
gp_abilities_list_count
int gp_abilities_list_count(CameraAbilitiesList *list)
Count the entries in the supplied list.
Definition gphoto2-abilities-list.c:605
CameraAbilitiesList
struct _CameraAbilitiesList CameraAbilitiesList
List of supported camera models including their abilities.
Definition gphoto2-abilities-list.h:162
gp_message_codeset
const char * gp_message_codeset(const char *)
Set the current character codeset libgphoto2 is operating in.
Definition gphoto2-abilities-list.c:68
gp_abilities_list_detect
int gp_abilities_list_detect(CameraAbilitiesList *list, GPPortInfoList *info_list, CameraList *l, GPContext *context)
Definition gphoto2-abilities-list.c:445
CameraFolderOperation
CameraFolderOperation
Definition gphoto2-abilities-list.h:86
GP_FOLDER_OPERATION_NONE
@ GP_FOLDER_OPERATION_NONE
Definition gphoto2-abilities-list.h:87
GP_FOLDER_OPERATION_MAKE_DIR
@ GP_FOLDER_OPERATION_MAKE_DIR
Definition gphoto2-abilities-list.h:90
GP_FOLDER_OPERATION_PUT_FILE
@ GP_FOLDER_OPERATION_PUT_FILE
Definition gphoto2-abilities-list.h:89
GP_FOLDER_OPERATION_DELETE_ALL
@ GP_FOLDER_OPERATION_DELETE_ALL
Definition gphoto2-abilities-list.h:88
GP_FOLDER_OPERATION_REMOVE_DIR
@ GP_FOLDER_OPERATION_REMOVE_DIR
Definition gphoto2-abilities-list.h:91
gp_abilities_list_get_abilities
int gp_abilities_list_get_abilities(CameraAbilitiesList *list, int index, CameraAbilities *abilities)
Retrieve the camera abilities of entry with supplied index number.
Definition gphoto2-abilities-list.c:681
gp_abilities_list_free
int gp_abilities_list_free(CameraAbilitiesList *list)
Free the given CameraAbilitiesList object.
Definition gphoto2-abilities-list.c:159
CameraOperation
CameraOperation
Definition gphoto2-abilities-list.h:61
GP_OPERATION_TRIGGER_CAPTURE
@ GP_OPERATION_TRIGGER_CAPTURE
Definition gphoto2-abilities-list.h:68
GP_OPERATION_CONFIG
@ GP_OPERATION_CONFIG
Definition gphoto2-abilities-list.h:67
GP_OPERATION_CAPTURE_PREVIEW
@ GP_OPERATION_CAPTURE_PREVIEW
Definition gphoto2-abilities-list.h:66
GP_OPERATION_CAPTURE_AUDIO
@ GP_OPERATION_CAPTURE_AUDIO
Definition gphoto2-abilities-list.h:65
GP_OPERATION_CAPTURE_VIDEO
@ GP_OPERATION_CAPTURE_VIDEO
Definition gphoto2-abilities-list.h:64
GP_OPERATION_NONE
@ GP_OPERATION_NONE
Definition gphoto2-abilities-list.h:62
GP_OPERATION_CAPTURE_IMAGE
@ GP_OPERATION_CAPTURE_IMAGE
Definition gphoto2-abilities-list.h:63
gp_init_localedir
int gp_init_localedir(const char *localedir)
Initialize the localedir directory for the libgphoto2 gettext domain.
Definition gphoto2-abilities-list.c:96
CameraDriverStatus
CameraDriverStatus
Definition gphoto2-abilities-list.h:41
GP_DRIVER_STATUS_PRODUCTION
@ GP_DRIVER_STATUS_PRODUCTION
Definition gphoto2-abilities-list.h:42
GP_DRIVER_STATUS_TESTING
@ GP_DRIVER_STATUS_TESTING
Definition gphoto2-abilities-list.h:43
GP_DRIVER_STATUS_EXPERIMENTAL
@ GP_DRIVER_STATUS_EXPERIMENTAL
Definition gphoto2-abilities-list.h:44
GP_DRIVER_STATUS_DEPRECATED
@ GP_DRIVER_STATUS_DEPRECATED
Definition gphoto2-abilities-list.h:45
gp_abilities_list_append
int gp_abilities_list_append(CameraAbilitiesList *list, CameraAbilities abilities)
Append the abilities to the list.
Definition gphoto2-abilities-list.c:555
GphotoDeviceType
GphotoDeviceType
Definition gphoto2-abilities-list.h:52
GP_DEVICE_AUDIO_PLAYER
@ GP_DEVICE_AUDIO_PLAYER
Definition gphoto2-abilities-list.h:54
GP_DEVICE_STILL_CAMERA
@ GP_DEVICE_STILL_CAMERA
Definition gphoto2-abilities-list.h:53
gphoto2-context.h
Context callback operation functions.
GPContext
struct _GPContext GPContext
The gphoto context structure.
Definition gphoto2-context.h:41
gphoto2-list.h
CameraList
struct _CameraList CameraList
A generic list.
Definition gphoto2-list.h:66
gphoto2-port-info-list.h
GPPortType
GPPortType
The gphoto port type.
Definition gphoto2-port-info-list.h:34
gphoto2-port-log.h
CameraAbilities
Describes the properties of a specific camera.
Definition gphoto2-abilities-list.h:120
CameraAbilities::reserved7
int reserved7
Definition gphoto2-abilities-list.h:152
CameraAbilities::reserved5
int reserved5
Definition gphoto2-abilities-list.h:150
CameraAbilities::library
char library[1024]
(Internal) library filename
Definition gphoto2-abilities-list.h:141
CameraAbilities::usb_vendor
int usb_vendor
USB Vendor D.
Definition gphoto2-abilities-list.h:134
CameraAbilities::model
char model[128]
name of camera model
Definition gphoto2-abilities-list.h:121
CameraAbilities::port
GPPortType port
Supported port types.
Definition gphoto2-abilities-list.h:125
CameraAbilities::usb_class
int usb_class
USB device class.
Definition gphoto2-abilities-list.h:136
CameraAbilities::reserved8
int reserved8
Definition gphoto2-abilities-list.h:153
CameraAbilities::usb_protocol
int usb_protocol
USB device protocol.
Definition gphoto2-abilities-list.h:138
CameraAbilities::speed
int speed[64]
Supported serial port speeds (terminated with a value of 0).
Definition gphoto2-abilities-list.h:127
CameraAbilities::reserved6
int reserved6
Definition gphoto2-abilities-list.h:151
CameraAbilities::status
CameraDriverStatus status
driver quality
Definition gphoto2-abilities-list.h:122
CameraAbilities::reserved4
int reserved4
Definition gphoto2-abilities-list.h:149
CameraAbilities::folder_operations
CameraFolderOperation folder_operations
Camera folder op funcs.
Definition gphoto2-abilities-list.h:132
CameraAbilities::device_type
GphotoDeviceType device_type
Device type.
Definition gphoto2-abilities-list.h:144
CameraAbilities::reserved3
int reserved3
Definition gphoto2-abilities-list.h:148
CameraAbilities::usb_product
int usb_product
USB Product ID.
Definition gphoto2-abilities-list.h:135
CameraAbilities::operations
CameraOperation operations
Camera operation funcs.
Definition gphoto2-abilities-list.h:130
CameraAbilities::usb_subclass
int usb_subclass
USB device subclass.
Definition gphoto2-abilities-list.h:137
CameraAbilities::reserved2
int reserved2
Definition gphoto2-abilities-list.h:147
CameraAbilities::file_operations
CameraFileOperation file_operations
Camera file op funcs.
Definition gphoto2-abilities-list.h:131
_CameraAbilitiesList
Definition gphoto2-abilities-list.c:48