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.
@@ -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_ */