canonball 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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_ */