canonball 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +49 -0
- data/Rakefile +1 -0
- data/canonball.gemspec +27 -0
- data/lib/.DS_Store +0 -0
- data/lib/canonball/canonball.so +0 -0
- data/lib/canonball/version.rb +3 -0
- data/lib/canonball.rb +9 -0
- data/spec/.DS_Store +0 -0
- data/spec/lib/.DS_Store +0 -0
- data/spec/lib/canonball/.DS_Store +0 -0
- data/spec/lib/canonball_spec.rb +7 -0
- data/spec/spec_helper.rb +1 -0
- data/src/.DS_Store +0 -0
- data/src/Makefile +2 -0
- data/src/canonball.cpp +106 -0
- data/src/canonball.so +0 -0
- data/src/headers/EDSDK.h +1364 -0
- data/src/headers/EDSDKErrors.h +207 -0
- data/src/headers/EDSDKTypes.h +1342 -0
- data/src/headers/canonball.h +20 -0
- metadata +129 -0
data/src/headers/EDSDK.h
ADDED
@@ -0,0 +1,1364 @@
|
|
1
|
+
/******************************************************************************
|
2
|
+
* *
|
3
|
+
* PROJECT : EOS Digital Software Development Kit EDSDK *
|
4
|
+
* NAME : EDSDK.h *
|
5
|
+
* *
|
6
|
+
* Description: PROTO TYPE DEFINITION OF EDSDK API *
|
7
|
+
* *
|
8
|
+
*******************************************************************************
|
9
|
+
* *
|
10
|
+
* Written and developed by Canon Inc. *
|
11
|
+
* Copyright Canon Inc. 2006-2013 All Rights Reserved *
|
12
|
+
* *
|
13
|
+
******************************************************************************/
|
14
|
+
|
15
|
+
#ifndef _EDSDK_H_
|
16
|
+
#define _EDSDK_H_
|
17
|
+
|
18
|
+
|
19
|
+
#ifdef __cplusplus
|
20
|
+
extern "C" {
|
21
|
+
#endif
|
22
|
+
|
23
|
+
|
24
|
+
#ifdef __MACOS__
|
25
|
+
#include<CoreFoundation/CoreFoundation.h>
|
26
|
+
#else
|
27
|
+
#include <windows.h>
|
28
|
+
#endif
|
29
|
+
|
30
|
+
|
31
|
+
#include "EDSDKTypes.h"
|
32
|
+
#include "EDSDKErrors.h"
|
33
|
+
|
34
|
+
#if defined( BUILD_EDSDK_DLL )
|
35
|
+
#define EDSAPI EDSEXPORT EDSSTDCALL
|
36
|
+
#else
|
37
|
+
#define EDSAPI EDSIMPORT EDSSTDCALL
|
38
|
+
#endif
|
39
|
+
|
40
|
+
#define oldif 0
|
41
|
+
|
42
|
+
|
43
|
+
/*----------------------------------------------------------------------------*/
|
44
|
+
|
45
|
+
|
46
|
+
/******************************************************************************
|
47
|
+
*******************************************************************************
|
48
|
+
//
|
49
|
+
// Basic functions
|
50
|
+
//
|
51
|
+
*******************************************************************************
|
52
|
+
******************************************************************************/
|
53
|
+
|
54
|
+
|
55
|
+
/*-----------------------------------------------------------------------------
|
56
|
+
//
|
57
|
+
// Function: EdsInitializeSDK
|
58
|
+
//
|
59
|
+
// Description:
|
60
|
+
// Initializes the libraries.
|
61
|
+
// When using the EDSDK libraries, you must call this API once
|
62
|
+
// before using EDSDK APIs.
|
63
|
+
//
|
64
|
+
// Parameters:
|
65
|
+
// In: None
|
66
|
+
// Out: None
|
67
|
+
//
|
68
|
+
// Returns: Any of the sdk errors.
|
69
|
+
-----------------------------------------------------------------------------*/
|
70
|
+
EdsError EDSAPI EdsInitializeSDK();
|
71
|
+
|
72
|
+
/*-----------------------------------------------------------------------------
|
73
|
+
//
|
74
|
+
// Function: EdsTerminateSDK
|
75
|
+
//
|
76
|
+
// Description:
|
77
|
+
// Terminates use of the libraries.
|
78
|
+
// This function muse be called when ending the SDK.
|
79
|
+
// Calling this function releases all resources allocated by the libraries.
|
80
|
+
//
|
81
|
+
// Parameters:
|
82
|
+
// In: None
|
83
|
+
// Out: None
|
84
|
+
//
|
85
|
+
// Returns: Any of the sdk errors.
|
86
|
+
-----------------------------------------------------------------------------*/
|
87
|
+
EdsError EDSAPI EdsTerminateSDK();
|
88
|
+
|
89
|
+
|
90
|
+
/******************************************************************************
|
91
|
+
*******************************************************************************
|
92
|
+
//
|
93
|
+
// Reference-counter operating functions
|
94
|
+
//
|
95
|
+
*******************************************************************************
|
96
|
+
******************************************************************************/
|
97
|
+
|
98
|
+
|
99
|
+
/*-----------------------------------------------------------------------------
|
100
|
+
//
|
101
|
+
// Function: EdsRetain
|
102
|
+
//
|
103
|
+
// Description:
|
104
|
+
// Increments the reference counter of existing objects.
|
105
|
+
//
|
106
|
+
// Parameters:
|
107
|
+
// In: inRef - The reference for the item.
|
108
|
+
// Out: None
|
109
|
+
//
|
110
|
+
// Returns: Any of the sdk errors.
|
111
|
+
-----------------------------------------------------------------------------*/
|
112
|
+
EdsUInt32 EDSAPI EdsRetain( EdsBaseRef inRef );
|
113
|
+
|
114
|
+
|
115
|
+
/*-----------------------------------------------------------------------------
|
116
|
+
//
|
117
|
+
// Function: EdsRelease
|
118
|
+
//
|
119
|
+
// Description:
|
120
|
+
// Decrements the reference counter to an object.
|
121
|
+
// When the reference counter reaches 0, the object is released.
|
122
|
+
//
|
123
|
+
// Parameters:
|
124
|
+
// In: inRef - The reference of the item.
|
125
|
+
// Out: None
|
126
|
+
// Returns: Any of the sdk errors.
|
127
|
+
-----------------------------------------------------------------------------*/
|
128
|
+
EdsUInt32 EDSAPI EdsRelease( EdsBaseRef inRef );
|
129
|
+
|
130
|
+
|
131
|
+
/******************************************************************************
|
132
|
+
*******************************************************************************
|
133
|
+
//
|
134
|
+
// Item-tree operating functions
|
135
|
+
//
|
136
|
+
*******************************************************************************
|
137
|
+
******************************************************************************/
|
138
|
+
|
139
|
+
|
140
|
+
/*-----------------------------------------------------------------------------
|
141
|
+
//
|
142
|
+
// Function: EdsGetChildCount
|
143
|
+
//
|
144
|
+
// Description:
|
145
|
+
// Gets the number of child objects of the designated object.
|
146
|
+
// Example: Number of files in a directory
|
147
|
+
//
|
148
|
+
// Parameters:
|
149
|
+
// In: inRef - The reference of the list.
|
150
|
+
// Out: outCount - Number of elements in this list.
|
151
|
+
//
|
152
|
+
// Returns: Any of the sdk errors.
|
153
|
+
-----------------------------------------------------------------------------*/
|
154
|
+
EdsError EDSAPI EdsGetChildCount( EdsBaseRef inRef,
|
155
|
+
EdsUInt32* outCount );
|
156
|
+
|
157
|
+
|
158
|
+
/*-----------------------------------------------------------------------------
|
159
|
+
//
|
160
|
+
// Function: EdsGetChildAtIndex
|
161
|
+
//
|
162
|
+
// Description:
|
163
|
+
// Gets an indexed child object of the designated object.
|
164
|
+
//
|
165
|
+
// Parameters:
|
166
|
+
// In: inRef - The reference of the item.
|
167
|
+
// inIndex - The index that is passed in, is zero based.
|
168
|
+
// Out: outRef - The pointer which receives reference of the
|
169
|
+
// specified index .
|
170
|
+
//
|
171
|
+
// Returns: Any of the sdk errors.
|
172
|
+
-----------------------------------------------------------------------------*/
|
173
|
+
EdsError EDSAPI EdsGetChildAtIndex( EdsBaseRef inRef,
|
174
|
+
EdsInt32 inIndex,
|
175
|
+
EdsBaseRef* outRef );
|
176
|
+
|
177
|
+
|
178
|
+
/*-----------------------------------------------------------------------------
|
179
|
+
//
|
180
|
+
// Function: EdsGetParent
|
181
|
+
//
|
182
|
+
// Description:
|
183
|
+
// Gets the parent object of the designated object.
|
184
|
+
//
|
185
|
+
// Parameters:
|
186
|
+
// In: inRef - The reference of the item.
|
187
|
+
// Out: outParentRef - The pointer which receives reference.
|
188
|
+
//
|
189
|
+
// Returns: Any of the sdk errors.
|
190
|
+
-----------------------------------------------------------------------------*/
|
191
|
+
EdsError EDSAPI EdsGetParent( EdsBaseRef inRef,
|
192
|
+
EdsBaseRef* outParentRef );
|
193
|
+
|
194
|
+
|
195
|
+
/******************************************************************************
|
196
|
+
*******************************************************************************
|
197
|
+
//
|
198
|
+
// Property operating functions
|
199
|
+
//
|
200
|
+
*******************************************************************************
|
201
|
+
******************************************************************************/
|
202
|
+
|
203
|
+
|
204
|
+
/*-----------------------------------------------------------------------------
|
205
|
+
//
|
206
|
+
// Function: EdsGetPropertySize
|
207
|
+
//
|
208
|
+
// Description:
|
209
|
+
// Gets the byte size and data type of a designated property
|
210
|
+
// from a camera object or image object.
|
211
|
+
//
|
212
|
+
// Parameters:
|
213
|
+
// In: inRef - The reference of the item.
|
214
|
+
// inPropertyID - The ProprtyID
|
215
|
+
// inParam - Additional information of property.
|
216
|
+
// We use this parameter in order to specify an index
|
217
|
+
// in case there are two or more values over the same ID.
|
218
|
+
// Out: outDataType - Pointer to the buffer that is to receive the property
|
219
|
+
// type data.
|
220
|
+
// outSize - Pointer to the buffer that is to receive the property
|
221
|
+
// size.
|
222
|
+
//
|
223
|
+
// Returns: Any of the sdk errors.
|
224
|
+
-----------------------------------------------------------------------------*/
|
225
|
+
EdsError EDSAPI EdsGetPropertySize( EdsBaseRef inRef,
|
226
|
+
EdsPropertyID inPropertyID,
|
227
|
+
EdsInt32 inParam,
|
228
|
+
EdsDataType* outDataType,
|
229
|
+
EdsUInt32* outSize );
|
230
|
+
|
231
|
+
|
232
|
+
/*-----------------------------------------------------------------------------
|
233
|
+
//
|
234
|
+
// Function: EdsGetPropertyData
|
235
|
+
//
|
236
|
+
// Description:
|
237
|
+
// Gets property information from the object designated in inRef.
|
238
|
+
//
|
239
|
+
// Parameters:
|
240
|
+
// In: inRef - The reference of the item.
|
241
|
+
// inPropertyID - The ProprtyID
|
242
|
+
// inParam - Additional information of property.
|
243
|
+
// We use this parameter in order to specify an index
|
244
|
+
// in case there are two or more values over the same ID.
|
245
|
+
// inPropertySize - The number of bytes of the prepared buffer
|
246
|
+
// for receive property-value.
|
247
|
+
// Out: outPropertyData - The buffer pointer to receive property-value.
|
248
|
+
//
|
249
|
+
// Returns: Any of the sdk errors.
|
250
|
+
-----------------------------------------------------------------------------*/
|
251
|
+
EdsError EDSAPI EdsGetPropertyData( EdsBaseRef inRef,
|
252
|
+
EdsPropertyID inPropertyID,
|
253
|
+
EdsInt32 inParam,
|
254
|
+
EdsUInt32 inPropertySize,
|
255
|
+
EdsVoid* outPropertyData );
|
256
|
+
|
257
|
+
|
258
|
+
/*-----------------------------------------------------------------------------
|
259
|
+
//
|
260
|
+
// Function: EdsSetPropertyData
|
261
|
+
//
|
262
|
+
// Description:
|
263
|
+
// Sets property data for the object designated in inRef.
|
264
|
+
//
|
265
|
+
// Parameters:
|
266
|
+
// In: inRef - The reference of the item.
|
267
|
+
// inPropertyID - The ProprtyID
|
268
|
+
// inParam - Additional information of property.
|
269
|
+
// inPropertySize - The number of bytes of the prepared buffer
|
270
|
+
// for set property-value.
|
271
|
+
// inPropertyData - The buffer pointer to set property-value.
|
272
|
+
// Out: None
|
273
|
+
//
|
274
|
+
// Returns: Any of the sdk errors.
|
275
|
+
-----------------------------------------------------------------------------*/
|
276
|
+
EdsError EDSAPI EdsSetPropertyData( EdsBaseRef inRef,
|
277
|
+
EdsPropertyID inPropertyID,
|
278
|
+
EdsInt32 inParam,
|
279
|
+
EdsUInt32 inPropertySize,
|
280
|
+
const EdsVoid* inPropertyData );
|
281
|
+
|
282
|
+
|
283
|
+
/*-----------------------------------------------------------------------------
|
284
|
+
//
|
285
|
+
// Function: EdsGetPropertyDesc
|
286
|
+
//
|
287
|
+
// Description:
|
288
|
+
// Gets a list of property data that can be set for the object
|
289
|
+
// designated in inRef, as well as maximum and minimum values.
|
290
|
+
// This API is intended for only some shooting-related properties.
|
291
|
+
//
|
292
|
+
// Parameters:
|
293
|
+
// In: inRef - The reference of the camera.
|
294
|
+
// inPropertyID - The Property ID.
|
295
|
+
// Out: outPropertyDesc - Array of the value which can be set up.
|
296
|
+
//
|
297
|
+
// Returns: Any of the sdk errors.
|
298
|
+
-----------------------------------------------------------------------------*/
|
299
|
+
EdsError EDSAPI EdsGetPropertyDesc( EdsBaseRef inRef,
|
300
|
+
EdsPropertyID inPropertyID,
|
301
|
+
EdsPropertyDesc* outPropertyDesc );
|
302
|
+
|
303
|
+
|
304
|
+
/******************************************************************************
|
305
|
+
*******************************************************************************
|
306
|
+
//
|
307
|
+
// Device-list and device operating functions
|
308
|
+
//
|
309
|
+
*******************************************************************************
|
310
|
+
******************************************************************************/
|
311
|
+
|
312
|
+
|
313
|
+
/*-----------------------------------------------------------------------------
|
314
|
+
//
|
315
|
+
// Function: EdsGetCameraList
|
316
|
+
//
|
317
|
+
// Description:
|
318
|
+
// Gets camera list objects.
|
319
|
+
//
|
320
|
+
// Parameters:
|
321
|
+
// In: None
|
322
|
+
// Out: outCameraListRef - Pointer to the camera-list.
|
323
|
+
//
|
324
|
+
// Returns: Any of the sdk errors.
|
325
|
+
-----------------------------------------------------------------------------*/
|
326
|
+
EdsError EDSAPI EdsGetCameraList( EdsCameraListRef* outCameraListRef );
|
327
|
+
|
328
|
+
|
329
|
+
/******************************************************************************
|
330
|
+
*******************************************************************************
|
331
|
+
//
|
332
|
+
// Camera operating functions
|
333
|
+
//
|
334
|
+
*******************************************************************************
|
335
|
+
******************************************************************************/
|
336
|
+
|
337
|
+
|
338
|
+
/*-----------------------------------------------------------------------------
|
339
|
+
//
|
340
|
+
// Function: EdsGetDeviceInfo
|
341
|
+
//
|
342
|
+
// Description:
|
343
|
+
// Gets device information, such as the device name.
|
344
|
+
// Because device information of remote cameras is stored
|
345
|
+
// on the host computer, you can use this API
|
346
|
+
// before the camera object initiates communication
|
347
|
+
// (that is, before a session is opened).
|
348
|
+
//
|
349
|
+
// Parameters:
|
350
|
+
// In: inCameraRef - The reference of the camera.
|
351
|
+
// Out: outDeviceInfo - Information as device of camera.
|
352
|
+
//
|
353
|
+
// Returns: Any of the sdk errors.
|
354
|
+
-----------------------------------------------------------------------------*/
|
355
|
+
EdsError EDSAPI EdsGetDeviceInfo( EdsCameraRef inCameraRef,
|
356
|
+
EdsDeviceInfo* outDeviceInfo );
|
357
|
+
|
358
|
+
|
359
|
+
/*-----------------------------------------------------------------------------
|
360
|
+
//
|
361
|
+
// Function: EdsOpenSession
|
362
|
+
//
|
363
|
+
// Description:
|
364
|
+
// Establishes a logical connection with a remote camera.
|
365
|
+
// Use this API after getting the camera's EdsCamera object.
|
366
|
+
//
|
367
|
+
// Parameters:
|
368
|
+
// In: inCameraRef - The reference of the camera
|
369
|
+
// Out: None
|
370
|
+
//
|
371
|
+
// Returns: Any of the sdk errors.
|
372
|
+
-----------------------------------------------------------------------------*/
|
373
|
+
EdsError EDSAPI EdsOpenSession( EdsCameraRef inCameraRef );
|
374
|
+
|
375
|
+
|
376
|
+
/*-----------------------------------------------------------------------------
|
377
|
+
//
|
378
|
+
// Function: EdsCloseSession
|
379
|
+
//
|
380
|
+
// Description:
|
381
|
+
// Closes a logical connection with a remote camera.
|
382
|
+
//
|
383
|
+
// Parameters:
|
384
|
+
// In: inCameraRef - The reference of the camera
|
385
|
+
// Out: None
|
386
|
+
//
|
387
|
+
// Returns: Any of the sdk errors.
|
388
|
+
-----------------------------------------------------------------------------*/
|
389
|
+
EdsError EDSAPI EdsCloseSession( EdsCameraRef inCameraRef );
|
390
|
+
|
391
|
+
|
392
|
+
/*-----------------------------------------------------------------------------
|
393
|
+
//
|
394
|
+
// Function: EdsSendCommand
|
395
|
+
//
|
396
|
+
// Description:
|
397
|
+
// Sends a command such as "Shoot" to a remote camera.
|
398
|
+
//
|
399
|
+
// Parameters:
|
400
|
+
// In: inCameraRef - The reference of the camera which will receive the
|
401
|
+
// command.
|
402
|
+
// inCommand - Specifies the command to be sent.
|
403
|
+
// inParam - Specifies additional command-specific information.
|
404
|
+
// Out: None
|
405
|
+
//
|
406
|
+
// Returns: Any of the sdk errors.
|
407
|
+
-----------------------------------------------------------------------------*/
|
408
|
+
EdsError EDSAPI EdsSendCommand( EdsCameraRef inCameraRef,
|
409
|
+
EdsCameraCommand inCommand,
|
410
|
+
EdsInt32 inParam );
|
411
|
+
|
412
|
+
|
413
|
+
/*-----------------------------------------------------------------------------
|
414
|
+
//
|
415
|
+
// Function: EdsSendStatusCommand
|
416
|
+
//
|
417
|
+
// Description:
|
418
|
+
// Sets the remote camera state or mode.
|
419
|
+
//
|
420
|
+
// Parameters:
|
421
|
+
// In: inCameraRef - The reference of the camera which will receive the
|
422
|
+
// command.
|
423
|
+
// inStatusCommand - Specifies the command to be sent.
|
424
|
+
// inParam - Specifies additional command-specific information.
|
425
|
+
// Out: None
|
426
|
+
//
|
427
|
+
// Returns: Any of the sdk errors.
|
428
|
+
-----------------------------------------------------------------------------*/
|
429
|
+
EdsError EDSAPI EdsSendStatusCommand(
|
430
|
+
EdsCameraRef inCameraRef,
|
431
|
+
EdsCameraStatusCommand inStatusCommand,
|
432
|
+
EdsInt32 inParam );
|
433
|
+
|
434
|
+
|
435
|
+
/*-----------------------------------------------------------------------------
|
436
|
+
//
|
437
|
+
// Function: EdsSetCapacity
|
438
|
+
//
|
439
|
+
// Description:
|
440
|
+
// Sets the remaining HDD capacity on the host computer
|
441
|
+
// (excluding the portion from image transfer),
|
442
|
+
// as calculated by subtracting the portion from the previous time.
|
443
|
+
// Set a reset flag initially and designate the cluster length
|
444
|
+
// and number of free clusters.
|
445
|
+
// Some type 2 protocol standard cameras can display the number of shots
|
446
|
+
// left on the camera based on the available disk capacity
|
447
|
+
// of the host computer.
|
448
|
+
// For these cameras, after the storage destination is set to the computer,
|
449
|
+
// use this API to notify the camera of the available disk capacity
|
450
|
+
// of the host computer.
|
451
|
+
//
|
452
|
+
// Parameters:
|
453
|
+
// In: inCameraRef - The reference of the camera which will receive the
|
454
|
+
// command.
|
455
|
+
// inCapacity - The remaining capacity of a transmission place.
|
456
|
+
// Out: None
|
457
|
+
//
|
458
|
+
// Returns: Any of the sdk errors.
|
459
|
+
-----------------------------------------------------------------------------*/
|
460
|
+
EdsError EDSAPI EdsSetCapacity( EdsCameraRef inCameraRef,
|
461
|
+
EdsCapacity inCapacity );
|
462
|
+
|
463
|
+
|
464
|
+
/******************************************************************************
|
465
|
+
*******************************************************************************
|
466
|
+
//
|
467
|
+
// Volume operating functions
|
468
|
+
//
|
469
|
+
*******************************************************************************
|
470
|
+
******************************************************************************/
|
471
|
+
|
472
|
+
|
473
|
+
/*-----------------------------------------------------------------------------
|
474
|
+
//
|
475
|
+
// Function: EdsGetVolumeInfo
|
476
|
+
//
|
477
|
+
// Description:
|
478
|
+
// Gets volume information for a memory card in the camera.
|
479
|
+
//
|
480
|
+
// Parameters:
|
481
|
+
// In: inVolumeRef - The reference of the volume.
|
482
|
+
// Out: outVolumeInfo - information of the volume.
|
483
|
+
//
|
484
|
+
// Returns: Any of the sdk errors.
|
485
|
+
-----------------------------------------------------------------------------*/
|
486
|
+
EdsError EDSAPI EdsGetVolumeInfo( EdsVolumeRef inVolumeRef,
|
487
|
+
EdsVolumeInfo* outVolumeInfo );
|
488
|
+
|
489
|
+
|
490
|
+
/*-----------------------------------------------------------------------------
|
491
|
+
//
|
492
|
+
// Function: EdsFormatVolume
|
493
|
+
//
|
494
|
+
// Description:
|
495
|
+
// Formats volumes of memory cards in a camera.
|
496
|
+
//
|
497
|
+
// Parameters:
|
498
|
+
// In: inVolumeRef - The reference of volume .
|
499
|
+
//
|
500
|
+
// Returns: Any of the sdk errors.
|
501
|
+
-----------------------------------------------------------------------------*/
|
502
|
+
EdsError EDSAPI EdsFormatVolume( EdsVolumeRef inVolumeRef );
|
503
|
+
|
504
|
+
|
505
|
+
/******************************************************************************
|
506
|
+
*******************************************************************************
|
507
|
+
//
|
508
|
+
// Directory-item operating functions
|
509
|
+
//
|
510
|
+
*******************************************************************************
|
511
|
+
******************************************************************************/
|
512
|
+
|
513
|
+
|
514
|
+
/*-----------------------------------------------------------------------------
|
515
|
+
//
|
516
|
+
// Function: EdsGetDirectoryItemInfo
|
517
|
+
//
|
518
|
+
// Description:
|
519
|
+
// Gets information about the directory or file objects
|
520
|
+
// on the memory card (volume) in a remote camera.
|
521
|
+
//
|
522
|
+
// Parameters:
|
523
|
+
// In: inDirItemRef - The reference of the directory item.
|
524
|
+
// Out: outDirItemInfo - information of the directory item.
|
525
|
+
//
|
526
|
+
// Returns: Any of the sdk errors.
|
527
|
+
-----------------------------------------------------------------------------*/
|
528
|
+
EdsError EDSAPI EdsGetDirectoryItemInfo(
|
529
|
+
EdsDirectoryItemRef inDirItemRef,
|
530
|
+
EdsDirectoryItemInfo* outDirItemInfo );
|
531
|
+
|
532
|
+
|
533
|
+
/*-----------------------------------------------------------------------------
|
534
|
+
//
|
535
|
+
// Function: EdsDeleteDirectoryItem
|
536
|
+
//
|
537
|
+
// Description:
|
538
|
+
// Deletes a camera folder or file.
|
539
|
+
// If folders with subdirectories are designated, all files are deleted
|
540
|
+
// except protected files.
|
541
|
+
// EdsDirectoryItem objects deleted by means of this API are implicitly
|
542
|
+
// released by the EDSDK. Thus, there is no need to release them
|
543
|
+
// by means of EdsRelease.
|
544
|
+
//
|
545
|
+
// Parameters:
|
546
|
+
// In: inDirItemRef - The reference of the directory item.
|
547
|
+
//
|
548
|
+
// Returns: Any of the sdk errors.
|
549
|
+
-----------------------------------------------------------------------------*/
|
550
|
+
EdsError EDSAPI EdsDeleteDirectoryItem( EdsDirectoryItemRef inDirItemRef );
|
551
|
+
|
552
|
+
|
553
|
+
/*-----------------------------------------------------------------------------
|
554
|
+
//
|
555
|
+
// Function: EdsDownload
|
556
|
+
//
|
557
|
+
// Description:
|
558
|
+
// Downloads a file on a remote camera
|
559
|
+
// (in the camera memory or on a memory card) to the host computer.
|
560
|
+
// The downloaded file is sent directly to a file stream created in advance.
|
561
|
+
// When dividing the file being retrieved, call this API repeatedly.
|
562
|
+
// Also in this case, make the data block size a multiple of 512 (bytes),
|
563
|
+
// excluding the final block.
|
564
|
+
//
|
565
|
+
// Parameters:
|
566
|
+
// In: inDirItemRef - The reference of the directory item.
|
567
|
+
// inReadSize -
|
568
|
+
//
|
569
|
+
// Out: outStream - The reference of the stream.
|
570
|
+
//
|
571
|
+
// Returns: Any of the sdk errors.
|
572
|
+
-----------------------------------------------------------------------------*/
|
573
|
+
EdsError EDSAPI EdsDownload( EdsDirectoryItemRef inDirItemRef,
|
574
|
+
EdsUInt32 inReadSize,
|
575
|
+
EdsStreamRef outStream );
|
576
|
+
|
577
|
+
|
578
|
+
/*-----------------------------------------------------------------------------
|
579
|
+
//
|
580
|
+
// Function: EdsDownloadCancel
|
581
|
+
//
|
582
|
+
// Description:
|
583
|
+
// Must be executed when downloading of a directory item is canceled.
|
584
|
+
// Calling this API makes the camera cancel file transmission.
|
585
|
+
// It also releases resources.
|
586
|
+
// This operation need not be executed when using EdsDownloadThumbnail.
|
587
|
+
//
|
588
|
+
// Parameters:
|
589
|
+
// In: inDirItemRef - The reference of the directory item.
|
590
|
+
//
|
591
|
+
// Returns: Any of the sdk errors.
|
592
|
+
-----------------------------------------------------------------------------*/
|
593
|
+
EdsError EDSAPI EdsDownloadCancel( EdsDirectoryItemRef inDirItemRef );
|
594
|
+
|
595
|
+
|
596
|
+
/*-----------------------------------------------------------------------------
|
597
|
+
//
|
598
|
+
// Function: EdsDownloadComplete
|
599
|
+
//
|
600
|
+
// Description:
|
601
|
+
// Must be called when downloading of directory items is complete.
|
602
|
+
// Executing this API makes the camera
|
603
|
+
// recognize that file transmission is complete.
|
604
|
+
// This operation need not be executed when using EdsDownloadThumbnail.
|
605
|
+
//
|
606
|
+
// Parameters:
|
607
|
+
// In: inDirItemRef - The reference of the directory item.
|
608
|
+
//
|
609
|
+
// Out: outStream - None.
|
610
|
+
//
|
611
|
+
// Returns: Any of the sdk errors.
|
612
|
+
-----------------------------------------------------------------------------*/
|
613
|
+
EdsError EDSAPI EdsDownloadComplete( EdsDirectoryItemRef inDirItemRef );
|
614
|
+
|
615
|
+
|
616
|
+
/*-----------------------------------------------------------------------------
|
617
|
+
//
|
618
|
+
// Function: EdsDownloadThumbnail
|
619
|
+
//
|
620
|
+
// Description:
|
621
|
+
// Extracts and downloads thumbnail information from image files in a camera.
|
622
|
+
// Thumbnail information in the camera's image files is downloaded
|
623
|
+
// to the host computer.
|
624
|
+
// Downloaded thumbnails are sent directly to a file stream created in advance.
|
625
|
+
//
|
626
|
+
// Parameters:
|
627
|
+
// In: inDirItemRef - The reference of the directory item.
|
628
|
+
//
|
629
|
+
// Out: outStream - The reference of the stream.
|
630
|
+
//
|
631
|
+
// Returns: Any of the sdk errors.
|
632
|
+
-----------------------------------------------------------------------------*/
|
633
|
+
EdsError EDSAPI EdsDownloadThumbnail( EdsDirectoryItemRef inDirItemRef,
|
634
|
+
EdsStreamRef outStream );
|
635
|
+
|
636
|
+
|
637
|
+
/*-----------------------------------------------------------------------------
|
638
|
+
//
|
639
|
+
// Function: EdsGetAttribute
|
640
|
+
//
|
641
|
+
// Description:
|
642
|
+
// Gets attributes of files on a camera.
|
643
|
+
//
|
644
|
+
// Parameters:
|
645
|
+
// In: inDirItemRef - The reference of the directory item.
|
646
|
+
// Out: outFileAttribute - Indicates the file attributes.
|
647
|
+
// As for the file attributes, OR values of the value defined
|
648
|
+
// by enum EdsFileAttributes can be retrieved. Thus, when
|
649
|
+
// determining the file attributes, you must check
|
650
|
+
// if an attribute flag is set for target attributes.
|
651
|
+
//
|
652
|
+
// Returns: Any of the sdk errors.
|
653
|
+
-----------------------------------------------------------------------------*/
|
654
|
+
EdsError EDSAPI EdsGetAttribute( EdsDirectoryItemRef inDirItemRef,
|
655
|
+
EdsFileAttributes* outFileAttribute );
|
656
|
+
|
657
|
+
|
658
|
+
/*-----------------------------------------------------------------------------
|
659
|
+
//
|
660
|
+
// Function: EdsSetAttribute
|
661
|
+
//
|
662
|
+
// Description:
|
663
|
+
// Changes attributes of files on a camera.
|
664
|
+
//
|
665
|
+
// Parameters:
|
666
|
+
// In: inDirItemRef - The reference of the directory item.
|
667
|
+
// inFileAttribute - Indicates the file attributes.
|
668
|
+
// As for the file attributes, OR values of the value
|
669
|
+
// defined by enum EdsFileAttributes can be retrieved.
|
670
|
+
// Out: None
|
671
|
+
//
|
672
|
+
// Returns: Any of the sdk errors.
|
673
|
+
-----------------------------------------------------------------------------*/
|
674
|
+
EdsError EDSAPI EdsSetAttribute(
|
675
|
+
EdsDirectoryItemRef inDirItemRef,
|
676
|
+
EdsFileAttributes inFileAttribute );
|
677
|
+
|
678
|
+
|
679
|
+
/******************************************************************************
|
680
|
+
*******************************************************************************
|
681
|
+
//
|
682
|
+
// Stream operating functions
|
683
|
+
//
|
684
|
+
*******************************************************************************
|
685
|
+
******************************************************************************/
|
686
|
+
|
687
|
+
|
688
|
+
/*-----------------------------------------------------------------------------
|
689
|
+
//
|
690
|
+
// Function: EdsCreateFileStream
|
691
|
+
//
|
692
|
+
// Description:
|
693
|
+
// Creates a new file on a host computer (or opens an existing file)
|
694
|
+
// and creates a file stream for access to the file.
|
695
|
+
// If a new file is designated before executing this API,
|
696
|
+
// the file is actually created following the timing of writing
|
697
|
+
// by means of EdsWrite or the like with respect to an open stream.
|
698
|
+
//
|
699
|
+
// Parameters:
|
700
|
+
// In: inFileName - Pointer to a null-terminated string that specifies
|
701
|
+
// the file name.
|
702
|
+
// inCreateDisposition - Action to take on files that exist,
|
703
|
+
// and which action to take when files do not exist.
|
704
|
+
// inDesiredAccess - Access to the stream (reading, writing, or both).
|
705
|
+
// Out: outStream - The reference of the stream.
|
706
|
+
//
|
707
|
+
// Returns: Any of the sdk errors.
|
708
|
+
-----------------------------------------------------------------------------*/
|
709
|
+
EdsError EDSAPI EdsCreateFileStream(
|
710
|
+
const EdsChar* inFileName,
|
711
|
+
EdsFileCreateDisposition inCreateDisposition,
|
712
|
+
EdsAccess inDesiredAccess,
|
713
|
+
EdsStreamRef* outStream );
|
714
|
+
|
715
|
+
|
716
|
+
/*-----------------------------------------------------------------------------
|
717
|
+
//
|
718
|
+
// Function: EdsCreateMemoryStream
|
719
|
+
//
|
720
|
+
// Description:
|
721
|
+
// Creates a stream in the memory of a host computer.
|
722
|
+
// In the case of writing in excess of the allocated buffer size,
|
723
|
+
// the memory is automatically extended.
|
724
|
+
//
|
725
|
+
// Parameters:
|
726
|
+
// In: inBufferSize - The number of bytes of the memory to allocate.
|
727
|
+
// Out: outStream - The reference of the stream.
|
728
|
+
//
|
729
|
+
// Returns: Any of the sdk errors.
|
730
|
+
-----------------------------------------------------------------------------*/
|
731
|
+
EdsError EDSAPI EdsCreateMemoryStream(
|
732
|
+
EdsUInt32 inBufferSize,
|
733
|
+
EdsStreamRef* outStream );
|
734
|
+
|
735
|
+
|
736
|
+
/*-----------------------------------------------------------------------------
|
737
|
+
//
|
738
|
+
// Function: EdsCreateStreamEx
|
739
|
+
//
|
740
|
+
// Description:
|
741
|
+
// An extended version of EdsCreateStreamFromFile.
|
742
|
+
// Use this function when working with Unicode file names.
|
743
|
+
//
|
744
|
+
// Parameters:
|
745
|
+
// In: inURL (for Macintosh) - Designate CFURLRef.
|
746
|
+
// inFileName (for Windows) - Designate the file name.
|
747
|
+
// inCreateDisposition - Action to take on files that exist,
|
748
|
+
// and which action to take when files do not exist.
|
749
|
+
// inDesiredAccess - Access to the stream (reading, writing, or both).
|
750
|
+
//
|
751
|
+
// Out: outStream - The reference of the stream.
|
752
|
+
//
|
753
|
+
// Returns: Any of the sdk errors.
|
754
|
+
-----------------------------------------------------------------------------*/
|
755
|
+
EdsError EDSAPI EdsCreateFileStreamEx(
|
756
|
+
#if defined __MACOS__ || TARGET_OS_IPHONE
|
757
|
+
const CFURLRef inURL,
|
758
|
+
#elif defined TARGET_MOBILE
|
759
|
+
const char *inFileName,
|
760
|
+
#else
|
761
|
+
const WCHAR* inFileName,
|
762
|
+
#endif
|
763
|
+
EdsFileCreateDisposition inCreateDisposition,
|
764
|
+
EdsAccess inDesiredAccess,
|
765
|
+
EdsStreamRef* outStream );
|
766
|
+
|
767
|
+
|
768
|
+
/*-----------------------------------------------------------------------------
|
769
|
+
//
|
770
|
+
// Function: EdsCreateMemoryStreamFromPointer
|
771
|
+
//
|
772
|
+
// Description:
|
773
|
+
// Creates a stream from the memory buffer you prepare.
|
774
|
+
// Unlike the buffer size of streams created by means of EdsCreateMemoryStream,
|
775
|
+
// the buffer size you prepare for streams created this way does not expand.
|
776
|
+
//
|
777
|
+
// Parameters:
|
778
|
+
// In: inUserBuffer - Pointer to the buffer you have prepared.
|
779
|
+
// Streams created by means of this API lead to this buffer.
|
780
|
+
// inBufferSize - The number of bytes of the memory to allocate.
|
781
|
+
// Out: outStream - The reference of the stream.
|
782
|
+
//
|
783
|
+
// Returns: Any of the sdk errors.
|
784
|
+
-----------------------------------------------------------------------------*/
|
785
|
+
EdsError EDSAPI EdsCreateMemoryStreamFromPointer(
|
786
|
+
EdsVoid* inUserBuffer,
|
787
|
+
EdsUInt32 inBufferSize,
|
788
|
+
EdsStreamRef* outStream );
|
789
|
+
|
790
|
+
|
791
|
+
/*-----------------------------------------------------------------------------
|
792
|
+
//
|
793
|
+
// Function: EdsGetPointer
|
794
|
+
//
|
795
|
+
// Description:
|
796
|
+
// Gets the pointer to the start address of memory managed by the memory stream.
|
797
|
+
// As the EDSDK automatically resizes the buffer, the memory stream provides
|
798
|
+
// you with the same access methods as for the file stream.
|
799
|
+
// If access is attempted that is excessive with regard to the buffer size
|
800
|
+
// for the stream, data before the required buffer size is allocated
|
801
|
+
// is copied internally, and new writing occurs.
|
802
|
+
// Thus, the buffer pointer might be switched on an unknown timing.
|
803
|
+
// Caution in use is therefore advised.
|
804
|
+
//
|
805
|
+
// Parameters:
|
806
|
+
// In: inStream - Designate the memory stream for the pointer to retrieve.
|
807
|
+
// Out: outPointer - If successful, returns the pointer to the buffer
|
808
|
+
// written in the memory stream.
|
809
|
+
//
|
810
|
+
// Returns: Any of the sdk errors.
|
811
|
+
-----------------------------------------------------------------------------*/
|
812
|
+
EdsError EDSAPI EdsGetPointer(
|
813
|
+
EdsStreamRef inStream,
|
814
|
+
EdsVoid** outPointer );
|
815
|
+
|
816
|
+
|
817
|
+
/*-----------------------------------------------------------------------------
|
818
|
+
//
|
819
|
+
// Function: EdsRead
|
820
|
+
//
|
821
|
+
// Description:
|
822
|
+
// Reads data the size of inReadSize into the outBuffer buffer,
|
823
|
+
// starting at the current read or write position of the stream.
|
824
|
+
// The size of data actually read can be designated in outReadSize.
|
825
|
+
//
|
826
|
+
// Parameters:
|
827
|
+
// In: inStreamRef - The reference of the stream or image.
|
828
|
+
// inReadSize - The number of bytes to read.
|
829
|
+
// Out: outBuffer - Pointer to the user-supplied buffer that is to receive
|
830
|
+
// the data read from the stream.
|
831
|
+
// outReadSize - The actually read number of bytes.
|
832
|
+
//
|
833
|
+
// Returns: Any of the sdk errors.
|
834
|
+
-----------------------------------------------------------------------------*/
|
835
|
+
EdsError EDSAPI EdsRead(
|
836
|
+
EdsStreamRef inStreamRef,
|
837
|
+
EdsUInt32 inReadSize,
|
838
|
+
EdsVoid* outBuffer,
|
839
|
+
EdsUInt32* outReadSize );
|
840
|
+
|
841
|
+
|
842
|
+
/*-----------------------------------------------------------------------------
|
843
|
+
//
|
844
|
+
// Function: EdsWrite
|
845
|
+
//
|
846
|
+
// Description:
|
847
|
+
// Writes data of a designated buffer
|
848
|
+
// to the current read or write position of the stream.
|
849
|
+
//
|
850
|
+
// Parameters:
|
851
|
+
// In: inStreamRef - The reference of the stream or image.
|
852
|
+
// inWriteSize - The number of bytes to write.
|
853
|
+
// inBuffer - A pointer to the user-supplied buffer that contains
|
854
|
+
// the data to be written to the stream.
|
855
|
+
// Out: outWrittenSize - The actually written-in number of bytes.
|
856
|
+
//
|
857
|
+
// Returns: Any of the sdk errors.
|
858
|
+
-----------------------------------------------------------------------------*/
|
859
|
+
EdsError EDSAPI EdsWrite(
|
860
|
+
EdsStreamRef inStreamRef,
|
861
|
+
EdsUInt32 inWriteSize,
|
862
|
+
const EdsVoid* inBuffer,
|
863
|
+
EdsUInt32* outWrittenSize );
|
864
|
+
|
865
|
+
|
866
|
+
/*-----------------------------------------------------------------------------
|
867
|
+
//
|
868
|
+
// Function: EdsSeek
|
869
|
+
//
|
870
|
+
// Description:
|
871
|
+
// Moves the read or write position of the stream
|
872
|
+
(that is, the file position indicator).
|
873
|
+
//
|
874
|
+
// Parameters:
|
875
|
+
// In: inStreamRef - The reference of the stream or image.
|
876
|
+
// inSeekOffset - Number of bytes to move the pointer.
|
877
|
+
// inSeekOrigin - Pointer movement mode. Must be one of the following
|
878
|
+
// values.
|
879
|
+
// kEdsSeek_Cur Move the stream pointer inSeekOffset bytes
|
880
|
+
// from the current position in the stream.
|
881
|
+
// kEdsSeek_Begin Move the stream pointer inSeekOffset bytes
|
882
|
+
// forward from the beginning of the stream.
|
883
|
+
// kEdsSeek_End Move the stream pointer inSeekOffset bytes
|
884
|
+
// from the end of the stream.
|
885
|
+
//
|
886
|
+
// Returns: Any of the sdk errors.
|
887
|
+
-----------------------------------------------------------------------------*/
|
888
|
+
EdsError EDSAPI EdsSeek(
|
889
|
+
EdsStreamRef inStreamRef,
|
890
|
+
EdsInt32 inSeekOffset,
|
891
|
+
EdsSeekOrigin inSeekOrigin );
|
892
|
+
|
893
|
+
|
894
|
+
/*-----------------------------------------------------------------------------
|
895
|
+
//
|
896
|
+
// Function: EdsGetPosition
|
897
|
+
//
|
898
|
+
// Description:
|
899
|
+
// Gets the current read or write position of the stream
|
900
|
+
// (that is, the file position indicator).
|
901
|
+
//
|
902
|
+
// Parameters:
|
903
|
+
// In: inStreamRef - The reference of the stream or image.
|
904
|
+
// Out: outPosition - The current stream pointer.
|
905
|
+
//
|
906
|
+
// Returns: Any of the sdk errors.
|
907
|
+
-----------------------------------------------------------------------------*/
|
908
|
+
EdsError EDSAPI EdsGetPosition(
|
909
|
+
EdsStreamRef inStreamRef,
|
910
|
+
EdsUInt32* outPosition );
|
911
|
+
|
912
|
+
|
913
|
+
/*-----------------------------------------------------------------------------
|
914
|
+
//
|
915
|
+
// Function: EdsGetLength
|
916
|
+
//
|
917
|
+
// Description:
|
918
|
+
// Gets the stream size.
|
919
|
+
//
|
920
|
+
// Parameters:
|
921
|
+
// In: inStreamRef - The reference of the stream or image.
|
922
|
+
// Out: outLength - The length of the stream.
|
923
|
+
//
|
924
|
+
// Returns: Any of the sdk errors.
|
925
|
+
-----------------------------------------------------------------------------*/
|
926
|
+
EdsError EDSAPI EdsGetLength(
|
927
|
+
EdsStreamRef inStreamRef,
|
928
|
+
EdsUInt32* outLength );
|
929
|
+
|
930
|
+
|
931
|
+
/*-----------------------------------------------------------------------------
|
932
|
+
//
|
933
|
+
// Function: EdsCopyData
|
934
|
+
//
|
935
|
+
// Description:
|
936
|
+
// Copies data from the copy source stream to the copy destination stream.
|
937
|
+
// The read or write position of the data to copy is determined from
|
938
|
+
// the current file read or write position of the respective stream.
|
939
|
+
// After this API is executed, the read or write positions of the copy source
|
940
|
+
// and copy destination streams are moved an amount corresponding to
|
941
|
+
// inWriteSize in the positive direction.
|
942
|
+
//
|
943
|
+
// Parameters:
|
944
|
+
// In: inStreamRef - The reference of the stream or image.
|
945
|
+
// inWriteSize - The number of bytes to copy.
|
946
|
+
// Out: outStreamRef - The reference of the stream or image.
|
947
|
+
//
|
948
|
+
// Returns: Any of the sdk errors.
|
949
|
+
-----------------------------------------------------------------------------*/
|
950
|
+
EdsError EDSAPI EdsCopyData(
|
951
|
+
EdsStreamRef inStreamRef,
|
952
|
+
EdsUInt32 inWriteSize,
|
953
|
+
EdsStreamRef outStreamRef );
|
954
|
+
|
955
|
+
|
956
|
+
/*-----------------------------------------------------------------------------
|
957
|
+
//
|
958
|
+
// Function: EdsSetProgressCallback
|
959
|
+
//
|
960
|
+
// Description:
|
961
|
+
// Register a progress callback function.
|
962
|
+
// An event is received as notification of progress during processing that
|
963
|
+
// takes a relatively long time, such as downloading files from a
|
964
|
+
// remote camera.
|
965
|
+
// If you register the callback function, the EDSDK calls the callback
|
966
|
+
// function during execution or on completion of the following APIs.
|
967
|
+
// This timing can be used in updating on-screen progress bars, for example.
|
968
|
+
//
|
969
|
+
// Parameters:
|
970
|
+
// In: inRef - The reference of the stream or image.
|
971
|
+
// inProgressCallback - Pointer to a progress callback function.
|
972
|
+
// inProgressOption - The option about progress is specified.
|
973
|
+
// Must be one of the following values.
|
974
|
+
// kEdsProgressOption_Done
|
975
|
+
// When processing is completed,a callback function
|
976
|
+
// is called only at once.
|
977
|
+
// kEdsProgressOption_Periodically
|
978
|
+
// A callback function is performed periodically.
|
979
|
+
// inContext - Application information, passed in the argument
|
980
|
+
// when the callback function is called. Any information
|
981
|
+
// required for your program may be added.
|
982
|
+
// Out: None
|
983
|
+
//
|
984
|
+
// Returns: Any of the sdk errors.
|
985
|
+
-----------------------------------------------------------------------------*/
|
986
|
+
EdsError EDSAPI EdsSetProgressCallback(
|
987
|
+
EdsBaseRef inRef,
|
988
|
+
EdsProgressCallback inProgressCallback,
|
989
|
+
EdsProgressOption inProgressOption,
|
990
|
+
EdsVoid* inContext );
|
991
|
+
|
992
|
+
|
993
|
+
/******************************************************************************
|
994
|
+
*******************************************************************************
|
995
|
+
//
|
996
|
+
// Image operating functions
|
997
|
+
//
|
998
|
+
*******************************************************************************
|
999
|
+
******************************************************************************/
|
1000
|
+
|
1001
|
+
|
1002
|
+
/*-----------------------------------------------------------------------------
|
1003
|
+
//
|
1004
|
+
// Function: EdsCreateImageRef
|
1005
|
+
//
|
1006
|
+
// Description:
|
1007
|
+
// Creates an image object from an image file.
|
1008
|
+
// Without modification, stream objects cannot be worked with as images.
|
1009
|
+
// Thus, when extracting images from image files,
|
1010
|
+
// you must use this API to create image objects.
|
1011
|
+
// The image object created this way can be used to get image information
|
1012
|
+
// (such as the height and width, number of color components, and
|
1013
|
+
// resolution), thumbnail image data, and the image data itself.
|
1014
|
+
//
|
1015
|
+
// Parameters:
|
1016
|
+
// In: inStreamRef - The reference of the stream.
|
1017
|
+
//
|
1018
|
+
// Out: outImageRef - The reference of the image.
|
1019
|
+
//
|
1020
|
+
// Returns: Any of the sdk errors.
|
1021
|
+
-----------------------------------------------------------------------------*/
|
1022
|
+
EdsError EDSAPI EdsCreateImageRef( EdsStreamRef inStreamRef,
|
1023
|
+
EdsImageRef* outImageRef );
|
1024
|
+
|
1025
|
+
|
1026
|
+
/*-----------------------------------------------------------------------------
|
1027
|
+
//
|
1028
|
+
// Function: EdsGetImageInfo
|
1029
|
+
//
|
1030
|
+
// Description:
|
1031
|
+
// Gets image information from a designated image object.
|
1032
|
+
// Here, image information means the image width and height,
|
1033
|
+
// number of color components, resolution, and effective image area.
|
1034
|
+
//
|
1035
|
+
// Parameters:
|
1036
|
+
// In: inStreamRef - Designate the object for which to get image information.
|
1037
|
+
// inImageSource - Of the various image data items in the image file,
|
1038
|
+
// designate the type of image data representing the
|
1039
|
+
// information you want to get. Designate the image as
|
1040
|
+
// defined in Enum EdsImageSource.
|
1041
|
+
//
|
1042
|
+
// kEdsImageSrc_FullView
|
1043
|
+
// The image itself (a full-sized image)
|
1044
|
+
// kEdsImageSrc_Thumbnail
|
1045
|
+
// A thumbnail image
|
1046
|
+
// kEdsImageSrc_Preview
|
1047
|
+
// A preview image
|
1048
|
+
// kEdsImageSrc_RAWThumbnail
|
1049
|
+
// A RAW thumbnail image
|
1050
|
+
// kEdsImageSrc_RAWFullView
|
1051
|
+
// A RAW full-sized image
|
1052
|
+
// Out: outImageInfo - Stores the image data information designated
|
1053
|
+
// in inImageSource.
|
1054
|
+
//
|
1055
|
+
// Returns: Any of the sdk errors.
|
1056
|
+
-----------------------------------------------------------------------------*/
|
1057
|
+
EdsError EDSAPI EdsGetImageInfo( EdsImageRef inImageRef,
|
1058
|
+
EdsImageSource inImageSource,
|
1059
|
+
EdsImageInfo* outImageInfo );
|
1060
|
+
|
1061
|
+
|
1062
|
+
/*-----------------------------------------------------------------------------
|
1063
|
+
//
|
1064
|
+
// Function: EdsGetImage
|
1065
|
+
//
|
1066
|
+
// Description:
|
1067
|
+
// Gets designated image data from an image file, in the form of a
|
1068
|
+
// designated rectangle.
|
1069
|
+
// Returns uncompressed results for JPEGs and processed results
|
1070
|
+
// in the designated pixel order (RGB, Top-down BGR, and so on) for
|
1071
|
+
// RAW images.
|
1072
|
+
// Additionally, by designating the input/output rectangle,
|
1073
|
+
// it is possible to get reduced, enlarged, or partial images.
|
1074
|
+
// However, because images corresponding to the designated output rectangle
|
1075
|
+
// are always returned by the SDK, the SDK does not take the aspect
|
1076
|
+
// ratio into account.
|
1077
|
+
// To maintain the aspect ratio, you must keep the aspect ratio in mind
|
1078
|
+
// when designating the rectangle.
|
1079
|
+
//
|
1080
|
+
// Parameters:
|
1081
|
+
// In:
|
1082
|
+
// inImageRef - Designate the image object for which to get
|
1083
|
+
// the image data.
|
1084
|
+
// inImageSource - Designate the type of image data to get from
|
1085
|
+
// the image file (thumbnail, preview, and so on).
|
1086
|
+
// Designate values as defined in Enum EdsImageSource.
|
1087
|
+
// inImageType - Designate the output image type. Because
|
1088
|
+
// the output format of EdGetImage may only be RGB, only
|
1089
|
+
// kEdsTargetImageType_RGB or kEdsTargetImageType_RGB16
|
1090
|
+
// can be designated.
|
1091
|
+
// However, image types exceeding the resolution of
|
1092
|
+
// inImageSource cannot be designated.
|
1093
|
+
// inSrcRect - Designate the coordinates and size of the rectangle
|
1094
|
+
// to be retrieved (processed) from the source image.
|
1095
|
+
// inDstSize - Designate the rectangle size for output.
|
1096
|
+
//
|
1097
|
+
// Out:
|
1098
|
+
// outStreamRef - Designate the memory or file stream for output of
|
1099
|
+
// the image.
|
1100
|
+
// Returns: Any of the sdk errors.
|
1101
|
+
-----------------------------------------------------------------------------*/
|
1102
|
+
EdsError EDSAPI EdsGetImage(
|
1103
|
+
EdsImageRef inImageRef,
|
1104
|
+
EdsImageSource inImageSource,
|
1105
|
+
EdsTargetImageType inImageType,
|
1106
|
+
EdsRect inSrcRect,
|
1107
|
+
EdsSize inDstSize,
|
1108
|
+
EdsStreamRef outStreamRef );
|
1109
|
+
|
1110
|
+
|
1111
|
+
/*-----------------------------------------------------------------------------
|
1112
|
+
//
|
1113
|
+
// Function: EdsSaveImage
|
1114
|
+
//
|
1115
|
+
// Description:
|
1116
|
+
// Saves as a designated image type after RAW processing.
|
1117
|
+
// When saving with JPEG compression,
|
1118
|
+
// the JPEG quality setting applies with respect to EdsOptionRef.
|
1119
|
+
//
|
1120
|
+
// Parameters:
|
1121
|
+
// In:
|
1122
|
+
// inImageRef - Designate the image object for which to produce the file.
|
1123
|
+
// inImageType - Designate the image type to produce. Designate the
|
1124
|
+
// following image types.
|
1125
|
+
//
|
1126
|
+
// kEdsTargetImageType - Jpeg JPEG
|
1127
|
+
// kEdsTargetImageType - TIFF 8-bit TIFF
|
1128
|
+
// kEdsTargetImageType - TIFF16 16-bit TIFF
|
1129
|
+
// inSaveSetting - Designate saving options, such as JPEG image quality.
|
1130
|
+
// Out:
|
1131
|
+
// outStreamRef - Specifies the output file stream. The memory stream
|
1132
|
+
// cannot be specified here.
|
1133
|
+
// Returns: Any of the sdk errors.
|
1134
|
+
-----------------------------------------------------------------------------*/
|
1135
|
+
EdsError EDSAPI EdsSaveImage(
|
1136
|
+
EdsImageRef inImageRef,
|
1137
|
+
EdsTargetImageType inImageType,
|
1138
|
+
EdsSaveImageSetting inSaveSetting,
|
1139
|
+
EdsStreamRef outStreamRef );
|
1140
|
+
|
1141
|
+
|
1142
|
+
/*-----------------------------------------------------------------------------
|
1143
|
+
//
|
1144
|
+
// Function: EdsCacheImage
|
1145
|
+
//
|
1146
|
+
// Description:
|
1147
|
+
// Switches a setting on and off for creation of an image cache in the SDK
|
1148
|
+
// for a designated image object during extraction (processing) of
|
1149
|
+
// the image data.
|
1150
|
+
// Creating the cache increases the processing speed, starting from
|
1151
|
+
// the second time.
|
1152
|
+
//
|
1153
|
+
// Parameters:
|
1154
|
+
// In: inImageRef - The reference of the image.
|
1155
|
+
// inUseCache - If cache image data or not
|
1156
|
+
// If set to FALSE, the cached image data will released.
|
1157
|
+
// Out: None
|
1158
|
+
//
|
1159
|
+
// Returns: Any of the sdk errors.
|
1160
|
+
-----------------------------------------------------------------------------*/
|
1161
|
+
EdsError EDSAPI EdsCacheImage( EdsImageRef inImageRef,
|
1162
|
+
EdsBool inUseCache );
|
1163
|
+
|
1164
|
+
|
1165
|
+
/*-----------------------------------------------------------------------------
|
1166
|
+
//
|
1167
|
+
// Function: EdsReflectImageProperty
|
1168
|
+
// Description:
|
1169
|
+
// Incorporates image object property changes
|
1170
|
+
// (effected by means of EdsSetPropertyData) in the stream.
|
1171
|
+
//
|
1172
|
+
// Parameters:
|
1173
|
+
// In: inImageRef - The reference of the image.
|
1174
|
+
// Out: None
|
1175
|
+
//
|
1176
|
+
// Returns: Any of the sdk errors.
|
1177
|
+
-----------------------------------------------------------------------------*/
|
1178
|
+
EdsError EDSAPI EdsReflectImageProperty( EdsImageRef inImageRef );
|
1179
|
+
|
1180
|
+
|
1181
|
+
|
1182
|
+
/*-----------------------------------------------------------------------------
|
1183
|
+
//
|
1184
|
+
// Function: EdsCreateEvfImageRef
|
1185
|
+
// Description:
|
1186
|
+
// Creates an object used to get the live view image data set.
|
1187
|
+
//
|
1188
|
+
// Parameters:
|
1189
|
+
// In: inStreamRef - The stream reference which opened to get EVF JPEG image.
|
1190
|
+
// Out: outEvfImageRef - The EVFData reference.
|
1191
|
+
//
|
1192
|
+
// Returns: Any of the sdk errors.
|
1193
|
+
-----------------------------------------------------------------------------*/
|
1194
|
+
EdsError EDSAPI EdsCreateEvfImageRef (
|
1195
|
+
EdsStreamRef inStreamRef,
|
1196
|
+
EdsEvfImageRef *outEvfImageRef ) ;
|
1197
|
+
|
1198
|
+
|
1199
|
+
|
1200
|
+
/*-----------------------------------------------------------------------------
|
1201
|
+
//
|
1202
|
+
// Function: EdsDownloadEvfImage
|
1203
|
+
// Description:
|
1204
|
+
// Downloads the live view image data set for a camera currently in live view mode.
|
1205
|
+
// Live view can be started by using the property ID:kEdsPropertyID_Evf_OutputDevice and
|
1206
|
+
// data:EdsOutputDevice_PC to call EdsSetPropertyData.
|
1207
|
+
// In addition to image data, information such as zoom, focus position, and histogram data
|
1208
|
+
// is included in the image data set. Image data is saved in a stream maintained by EdsEvfImageRef.
|
1209
|
+
// EdsGetPropertyData can be used to get information such as the zoom, focus position, etc.
|
1210
|
+
// Although the information of the zoom and focus position can be obtained from EdsEvfImageRef,
|
1211
|
+
// settings are applied to EdsCameraRef.
|
1212
|
+
//
|
1213
|
+
// Parameters:
|
1214
|
+
// In: inCameraRef - The Camera reference.
|
1215
|
+
// In: inEvfImageRef - The EVFData reference.
|
1216
|
+
//
|
1217
|
+
// Returns: Any of the sdk errors.
|
1218
|
+
-----------------------------------------------------------------------------*/
|
1219
|
+
EdsError EDSAPI EdsDownloadEvfImage ( EdsCameraRef inCameraRef,
|
1220
|
+
EdsEvfImageRef inEvfImageRef ) ;
|
1221
|
+
|
1222
|
+
|
1223
|
+
|
1224
|
+
/******************************************************************************
|
1225
|
+
*******************************************************************************
|
1226
|
+
//
|
1227
|
+
// Event handler registering functions
|
1228
|
+
//
|
1229
|
+
*******************************************************************************
|
1230
|
+
******************************************************************************/
|
1231
|
+
|
1232
|
+
|
1233
|
+
/*-----------------------------------------------------------------------------
|
1234
|
+
//
|
1235
|
+
// Function: EdsSetCameraAddedHandler
|
1236
|
+
//
|
1237
|
+
// Description:
|
1238
|
+
// Registers a callback function for when a camera is detected.
|
1239
|
+
//
|
1240
|
+
// Parameters:
|
1241
|
+
// In: inCameraAddedHandler - Pointer to a callback function
|
1242
|
+
// called when a camera is connected physically
|
1243
|
+
// inContext - Specifies an application-defined value to be sent to
|
1244
|
+
// the callback function pointed to by CallBack parameter.
|
1245
|
+
// Out: None
|
1246
|
+
//
|
1247
|
+
// Returns: Any of the sdk errors.
|
1248
|
+
-----------------------------------------------------------------------------*/
|
1249
|
+
EdsError EDSAPI EdsSetCameraAddedHandler(
|
1250
|
+
EdsCameraAddedHandler inCameraAddedHandler,
|
1251
|
+
EdsVoid* inContext );
|
1252
|
+
|
1253
|
+
|
1254
|
+
/*-----------------------------------------------------------------------------
|
1255
|
+
//
|
1256
|
+
// Function: EdsSetPropertyEventHandler
|
1257
|
+
//
|
1258
|
+
// Description:
|
1259
|
+
// Registers a callback function for receiving status
|
1260
|
+
// change notification events for property states on a camera.
|
1261
|
+
//
|
1262
|
+
// Parameters:
|
1263
|
+
// In: inCameraRef - Designate the camera object.
|
1264
|
+
// inEvent - Designate one or all events to be supplemented.
|
1265
|
+
// inPropertyEventHandler - Designate the pointer to the callback
|
1266
|
+
// function for receiving property-related camera events.
|
1267
|
+
// inContext - Designate application information to be passed by
|
1268
|
+
// means of the callback function. Any data needed for
|
1269
|
+
// your application can be passed.
|
1270
|
+
// Out: None
|
1271
|
+
//
|
1272
|
+
// Returns: Any of the sdk errors.
|
1273
|
+
-----------------------------------------------------------------------------*/
|
1274
|
+
EdsError EDSAPI EdsSetPropertyEventHandler(
|
1275
|
+
EdsCameraRef inCameraRef,
|
1276
|
+
EdsPropertyEvent inEvnet,
|
1277
|
+
EdsPropertyEventHandler inPropertyEventHandler,
|
1278
|
+
EdsVoid* inContext );
|
1279
|
+
|
1280
|
+
|
1281
|
+
/*-----------------------------------------------------------------------------
|
1282
|
+
//
|
1283
|
+
// Function: EdsSetObjectEventHandler
|
1284
|
+
//
|
1285
|
+
// Description:
|
1286
|
+
// Registers a callback function for receiving status
|
1287
|
+
// change notification events for objects on a remote camera.
|
1288
|
+
// Here, object means volumes representing memory cards, files and directories,
|
1289
|
+
// and shot images stored in memory, in particular.
|
1290
|
+
//
|
1291
|
+
// Parameters:
|
1292
|
+
// In: inCameraRef - Designate the camera object.
|
1293
|
+
// inEvent - Designate one or all events to be supplemented.
|
1294
|
+
// To designate all events, use kEdsObjectEvent_All.
|
1295
|
+
// inObjectEventHandler - Designate the pointer to the callback function
|
1296
|
+
// for receiving object-related camera events.
|
1297
|
+
// inContext - Passes inContext without modification,
|
1298
|
+
// as designated as an EdsSetObjectEventHandler argument.
|
1299
|
+
// Out: None
|
1300
|
+
//
|
1301
|
+
// Returns: Any of the sdk errors.
|
1302
|
+
-----------------------------------------------------------------------------*/
|
1303
|
+
EdsError EDSAPI EdsSetObjectEventHandler(
|
1304
|
+
EdsCameraRef inCameraRef,
|
1305
|
+
EdsObjectEvent inEvnet,
|
1306
|
+
EdsObjectEventHandler inObjectEventHandler,
|
1307
|
+
EdsVoid* inContext );
|
1308
|
+
|
1309
|
+
|
1310
|
+
/*-----------------------------------------------------------------------------
|
1311
|
+
//
|
1312
|
+
// Function: EdsSetCameraStateEventHandler
|
1313
|
+
//
|
1314
|
+
// Description:
|
1315
|
+
// Registers a callback function for receiving status
|
1316
|
+
// change notification events for property states on a camera.
|
1317
|
+
//
|
1318
|
+
// Parameters:
|
1319
|
+
// In: inCameraRef - Designate the camera object.
|
1320
|
+
// inEvent - Designate one or all events to be supplemented.
|
1321
|
+
// To designate all events, use kEdsStateEvent_All.
|
1322
|
+
// inStateEventHandler - Designate the pointer to the callback function
|
1323
|
+
// for receiving events related to camera object states.
|
1324
|
+
// inContext - Designate application information to be passed
|
1325
|
+
// by means of the callback function. Any data needed for
|
1326
|
+
// your application can be passed.
|
1327
|
+
// Out: None
|
1328
|
+
//
|
1329
|
+
// Returns: Any of the sdk errors.
|
1330
|
+
-----------------------------------------------------------------------------*/
|
1331
|
+
EdsError EDSAPI EdsSetCameraStateEventHandler(
|
1332
|
+
EdsCameraRef inCameraRef,
|
1333
|
+
EdsStateEvent inEvnet,
|
1334
|
+
EdsStateEventHandler inStateEventHandler,
|
1335
|
+
EdsVoid* inContext );
|
1336
|
+
|
1337
|
+
|
1338
|
+
/*----------------------------------------------------------------------------*/
|
1339
|
+
EdsError EDSAPI EdsCreateStream(EdsIStream* inStream, EdsStreamRef* outStreamRef);
|
1340
|
+
|
1341
|
+
/*-----------------------------------------------------------------------------
|
1342
|
+
//
|
1343
|
+
// Function: EdsGetEvent
|
1344
|
+
//
|
1345
|
+
// Description:
|
1346
|
+
// This function acquires an event.
|
1347
|
+
// In console application, please call this function regularly to acquire
|
1348
|
+
// the event from a camera.
|
1349
|
+
//
|
1350
|
+
// Parameters:
|
1351
|
+
// In: None
|
1352
|
+
// Out: None
|
1353
|
+
//
|
1354
|
+
// Returns: Any of the sdk errors.
|
1355
|
+
-----------------------------------------------------------------------------*/
|
1356
|
+
EdsError EDSAPI EdsGetEvent();
|
1357
|
+
|
1358
|
+
|
1359
|
+
#ifdef __cplusplus
|
1360
|
+
}
|
1361
|
+
#endif
|
1362
|
+
|
1363
|
+
|
1364
|
+
#endif /* _EDSDK_H_ */
|