summaryrefslogtreecommitdiff
path: root/doc/api/tmpl/gphoto2-abilities-list.sgml
blob: ea7184eda05948eee6f46bc03a7d4d9d43019a65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<!-- ##### SECTION Title ##### -->
CameraAbilitiesList

<!-- ##### SECTION Short_Description ##### -->
A list containing supported cameras and the features of those

<!-- ##### SECTION Long_Description ##### -->
<para>
A #CameraAbilitiesList contains every camera model that is supported by gphoto2 together with the features of those camera models.
</para>

<para>
Camera drivers will get in contact with a #CameraAbilitiesList when the #CameraLibraryAbilitiesFunc is called.
</para>

<para>
Frontends will use the #CameraAbilitiesList as an entry point to gphoto2. In 
order to set up a #Camera, you need to call #gp_camera_set_abilities. The
#CameraAbilities you pass to that function can be retreived from a
#CameraAbilitiesList.
  <example>
    <title>Using the #CameraAbilitiesList</title>
    <programlisting>
      #CameraAbilitiesList *list;
      #CameraAbilities abilities;
      int n;

      /* Create a new list */
      #gp_abilities_list_new (&amp;list);

      /* Scan the system for camera drivers */
      #gp_abilities_list_load (list);

      /* Retreive the abilities of a specific model */
      n = #gp_abilities_list_lookup_model (list, "HP PhotoSmart C30");
      #gp_abilities_list_get_abilities (list, n, &amp;abilities);
      #gp_abilities_list_free (list);
    </programlisting>
  </example>
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#CameraLibraryAbilitiesFunc
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### ENUM CameraDriverStatus ##### -->
<para>
  This flag indicates the stability of the driver.
  #GP_DRIVER_STATUS_EXPERIMENTAL is set initially. Once the driver is ready
  for testing, the flag #GP_DRIVER_STATUS_TESTING is set. Finally, if testing
  has shown that the driver is usable and no bugs can be found any longer,
  the flag is set to #GP_DRIVER_STATUS_PRODUCTION.
</para>

@GP_DRIVER_STATUS_PRODUCTION: Driver is functional, there are no apparent bugs.
@GP_DRIVER_STATUS_TESTING: Driver is functional, but needs testing.
@GP_DRIVER_STATUS_EXPERIMENTAL: Driver is experimental and does not yet
				work properly.
@GP_DRIVER_STATUS_DEPRECATED: 

<!-- ##### ENUM CameraOperation ##### -->
<para>
  This flag indicates what operations a camera supports. It is useful in case
  a frontend want to determine what operations a camera supports in order to
  adjust the GUI for this model. Get the abilities for a specific model
  from the #CameraAbilitiesList using #gp_abilities_list_get_abilities 
  or from a #Camera using #gp_camera_get_abilities.
</para>

@GP_OPERATION_NONE: No operation is supported.
@GP_OPERATION_CAPTURE_IMAGE: The camera can capture images.
@GP_OPERATION_CAPTURE_VIDEO: The camera can capture videos.
@GP_OPERATION_CAPTURE_AUDIO: The camera can capture audio data.
@GP_OPERATION_CAPTURE_PREVIEW: The camera can capture live previews
@GP_OPERATION_CONFIG: The camera offers some configuration options.

<!-- ##### ENUM CameraFileOperation ##### -->
<para>
  Similarly to #CameraOperations, this flag indicates what file operations
  a specific camera model supports.
</para>

@GP_FILE_OPERATION_NONE: No file operation supported.
@GP_FILE_OPERATION_DELETE: The camera can delete files.
@GP_FILE_OPERATION_PREVIEW: The camera can supply previews of files.
@GP_FILE_OPERATION_RAW: The camera can supply raw data.
@GP_FILE_OPERATION_AUDIO: The camera supports audio annotations.
@GP_FILE_OPERATION_EXIF: 

<!-- ##### ENUM CameraFolderOperation ##### -->
<para>
  Similarly to #CameraFolderOperations, this flag indicates what folder
  operations a specific camera model supports.
</para>

@GP_FOLDER_OPERATION_NONE: No operation supported.
@GP_FOLDER_OPERATION_DELETE_ALL: The camera can delete all pictures of a folder
				 at once.
@GP_FOLDER_OPERATION_PUT_FILE: It is possible to upload files.
@GP_FOLDER_OPERATION_MAKE_DIR: The camera can create directories.
@GP_FOLDER_OPERATION_REMOVE_DIR: The camera can remove directories.

<!-- ##### STRUCT CameraAbilities ##### -->
<para>
  This structure is used to inform frontends about what abilities a
  specific camera model has. In addition, it is used by gphoto2 to
  determine what library to load on #gp_camera_set_abilities.
  For retreiving abilities of a specific model, create a
  #CameraAbilitiesList and use #gp_abilities_list_load in order to scan
  the system for drivers. Then, retreive the #CameraAbilities from this list.
</para>

@model: 
@status: 
@port: 
@speed: 
@operations: 
@file_operations: 
@folder_operations: 
@usb_vendor: 
@usb_product: 
@usb_class: 
@usb_subclass: 
@usb_protocol: 
@library: 
@id: 
@reserved1: 
@reserved2: 
@reserved3: 
@reserved4: 
@reserved5: 
@reserved6: 
@reserved7: 
@reserved8: 

<!-- ##### STRUCT CameraAbilitiesList ##### -->
<para>

</para>


<!-- ##### FUNCTION gp_abilities_list_new ##### -->
<para>

</para>

@list: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_free ##### -->
<para>

</para>

@list: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_load ##### -->
<para>

</para>

@list: 
@context: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_detect ##### -->
<para>

</para>

@list: 
@info_list: 
@l: 
@context: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_count ##### -->
<para>

</para>

@list: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_lookup_model ##### -->
<para>

</para>

@list: 
@model: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_get_abilities ##### -->
<para>

</para>

@list: 
@index: 
@abilities: 
@Returns: 


<!-- ##### FUNCTION gp_abilities_list_append ##### -->
<para>

</para>

@list: 
@abilities: 
@Returns: