ADC Home > Reference Library > Reference > Graphics & Imaging > Image Capture Applications Reference
|
ICAApplication.h |
Includes: |
ICAApplication.h defines structures and functions that are used by applications programs to access image-capture devices such as cameras, scanners, and phones
ICACloseSession |
Use this API to close a session on a camera device. For a scanner device use the ICAScannerCloseSession API.
extern ICAError ICACloseSession( ICACloseSessionPB *pb, ICACompletion completion );
pb
ICACloseSessionPB
parameter block.completion
ICACloseSession
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This API closes an open session on a camera device. If the camera does not have any open sessions, the device module controlling the camera is free to give it up during fast-user-switching.
ICACopyObjectData |
Use this API to get a copy of data associated with a file object.
extern ICAError ICACopyObjectData( ICACopyObjectDataPB *params, ICACompletion completionProc );
params
completionProc
Returns an error code defined in ICAApplication.h
Use this API to get a copy of data associated with a file object. This API should be used in place of ICAGetPropertyData.
ICACopyObjectPropertyDictionary |
Use this API to get a CFDictionaryRef containing all the properties for an object specified in the object field of the ICACopyObjectPropertyDictionaryPB struct.
extern ICAError ICACopyObjectPropertyDictionary( ICACopyObjectPropertyDictionaryPB *pb, ICACompletion completion );
pb
ICACopyObjectPropertyDictionaryPB
parameter block.completion
ICACopyObjectPropertyDictionary
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This API is the preferred way to get to any ICAObject related property data.
Example: void CopyObjectPropertyDictionary() { OSErr err; ICACopyObjectPropertyDictionaryPB pb = {};
pb.object = <#ICAObject object#>; err = ICACopyObjectPropertyDictionary( &pb, NULL );
if ( noErr != err) { // handle error } else { // Make sure to release the returned dictionary // pb.theDict // CFDictionaryRef * } }
ICACopyObjectThumbnail |
Use this API to get a thumbnail associated with an object.
extern ICAError ICACopyObjectThumbnail( ICACopyObjectThumbnailPB *pb, ICACompletion completion );
pb
ICACopyObjectThumbnailPB
parameter block.completion
ICACopyObjectThumbnail
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This is the recommended way to get the thumbnail of an object. Getting the thumbnail using ICAGetPropertyData is deprecaed in 10.5.
Example: void CopyObjectThumbnail() { OSErr err; ICACopyObjectThumbnailPB pb = {};
pb.object = <#ICAObject object#>; pb.thumbnailFormat = <#OSType thumbnailFormat#>; err = ICACopyObjectThumbnail( &pb, NULL );
if ( noErr != err ) { // handle error } else { // Make sure to release the thumbnailData // pb.thumbnailData // CFDataRef * } }
ICADownloadFile |
Use this API to download a file to disk.
extern ICAError ICADownloadFile( ICADownloadFilePB *pb, ICACompletion completion );
pb
ICADownloadFilePB
parameter block.completion
ICADownloadFile
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This API is a convenient way to download a file to disk. To receive the image data in memory use ICACopyObjectData. Using ICAGetPropertyData is not recommend for this purpose since ICAGetPropertyData is Deprecated in 10.5.
Example: void DownloadFile() { OSErr err; ICADownloadFilePB pb = {};
pb.flags = <#UInt32 flags#>; pb.rotationAngle = <#Fixed rotationAngle#>; pb.object = <#ICAObject object#>; pb.fileCreator = <#OSType fileCreator#>; pb.dirFSRef = <#FSRef * dirFSRef#>; pb.fileType = <#OSType fileType#>; err = ICADownloadFile( &pb, NULL );
if ( noErr != err ) { // handle error } else { // pb.fileFSRef // FSRef * } }
ICAGetChildCount |
Fetches the number of children of an object. This API is deprecated in 10.5.
extern ICAError ICAGetChildCount( ICAGetChildCountPB *pb, ICACompletion completion );
pb
ICAGetChildCountPB
parameter block.completion
ICAGetChildCount
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Image Capture framework presents cameras and scanners, their contents and their capabilities as a heirarchy of objects and their properties. The ICAGetChildCount
function fetches the number of children of the object specified in the object
field of paramter pb
.
Example: UInt32 GetNumberOfDevices () { ICAGetChildCountPB getChildCountPB; OSErr err; memset(&getChildCountPB, 0, sizeof(ICAGetChildCountPB)); getChildCountPB.object = GetDeviceList(); err = ICAGetChildCount(&getChildCountPB, nil); return getChildCountPB.count; }
ICAGetDeviceList |
Fetches the object at the top of the object heirarchy.
extern ICAError ICAGetDeviceList( ICAGetDeviceListPB *pb, ICACompletion completion );
pb
ICAGetDeviceListPB
parameter block.completion
ICAGetDeviceList
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Image Capture framework presents cameras and scanners, their contents and their capabilities as a heirarchy of objects and their properties. The device list object is at the top of the heirarchy of objects. The ICAGetDeviceList
function fetches this object in the object
field of parameter pb
. Children of the device list object can be accessed by passing the device list object to functions ICAGetChildCount()
and ICAGetNthChild()
.
Example: ICAObject GetDeviceList() { ICAGetDeviceListPB getDeviceListPB = {}; ICAObject deviceList = 0; OSErr err; err = ICAGetDeviceList( &getDeviceListPB, nil ); if ( noErr == err ) { deviceList = getDeviceListPB.object; } return deviceList; }
ICAGetNthChild |
Fetches the child of a given object at a given index. This API is deprecated in 10.5.
extern ICAError ICAGetNthChild( ICAGetNthChildPB *pb, ICACompletion completion );
pb
ICAGetNthChildPB
parameter block.completion
ICAGetNthChild
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Image Capture framework presents cameras and scanners, their contents and their capabilities as a heirarchy of objects and their properties. The ICAGetNthChild
function fetches the child object of an object specifed in the parentObject
field of the parameter pb
at the index specified in the index
field of the parameter pb
. The index is zero-based. The function also returns the ICAObjectInfo for the child object in the childInfo
field of the parameter pb
.
Example: ICAObject GetFirstDevice () { ICAGetNthChildPB getNthChildPB; ICAObject firstDevice = NULL; OSErr err; UInt32 count; count = GetNumberOfDevices(); if (count > 0) { memset(&getNthChildPB, 0, sizeof(ICAGetNthChildPB)); getNthChildPB.parentObject = Get_Device_List(); getNthChildPB.index = 0; err = ICAGetNthChild (&getNthChildPB, nil); if (noErr == err) { firstDevice = getNthChildPB.childObject; } } return firstDevice; }
ICAGetNthProperty |
Use this API to get an object's specific property and its information. This API is deprecated in 10.5.
extern ICAError ICAGetNthProperty( ICAGetNthPropertyPB *pb, ICACompletion completion );
pb
ICAGetNthPropertyPB
parameter block.completion
ICAGetNthProperty
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get an object's specific property and its information. This API is deprecated in 10.5.
ICAGetObjectInfo |
Use this API to get information about an object. This API is deprecated in 10.5.
extern ICAError ICAGetObjectInfo( ICAGetObjectInfoPB *pb, ICACompletion completion );
pb
ICAGetObjectInfoPB
parameter block.completion
ICAGetObjectInfo
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get information about an object. This API is deprecated in 10.5.
ICAGetObjectRefCon |
Use this API to get an arbitrary refcon associated with an object. This API is deprecated in 10.5.
extern ICAError ICAGetObjectRefCon( ICAGetObjectRefConPB *pb, ICACompletion completion );
pb
ICAGetObjectRefConPB
parameter block.completion
ICAGetObjectRefCon
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get an arbitrary refcon associated with an object. This API is deprecated in 10.5.
ICAGetParentOfObject |
Use this API to get an object's parent object and its information. This API is deprecated in 10.5.
extern ICAError ICAGetParentOfObject( ICAGetParentOfObjectPB *pb, ICACompletion completion );
pb
ICAGetParentOfObjectPB
parameter block.completion
ICAGetParentOfObject
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get an object's parent object and its information. This API is deprecated in 10.5.
ICAGetParentOfProperty |
Uset this API to get a property's parent object and its information. This API is deprecated in 10.5.
extern ICAError ICAGetParentOfProperty( ICAGetParentOfPropertyPB *pb, ICACompletion completion );
pb
ICAGetParentOfPropertyPB
parameter block.completion
ICAGetParentOfProperty
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Uset this API to get a property's parent object and its information. This API is deprecated in 10.5.
ICAGetPropertyByType |
Use this API to get an object's property by type and its information. This API is deprecated in 10.5.
extern ICAError ICAGetPropertyByType( ICAGetPropertyByTypePB *pb, ICACompletion completion );
pb
ICAGetPropertyByTypePB
parameter block.completion
ICAGetPropertyByType
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get an object's property by type and its information. This API is deprecated in 10.5.
ICAGetPropertyCount |
Use this API to get the number of properties an object has. This API is deprecated in 10.5.
extern ICAError ICAGetPropertyCount( ICAGetPropertyCountPB *pb, ICACompletion completion );
pb
ICAGetPropertyCountPB
parameter block.completion
ICAGetPropertyCount
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get the number of properties an object has. This API is deprecated in 10.5.
ICAGetPropertyData |
Use this API to get data associated with a property. This API is deprecated in 10.5. Use one of the ICACopy* APIs instead.
extern ICAError ICAGetPropertyData( ICAGetPropertyDataPB *pb, ICACompletion completion );
pb
ICAGetPropertyDataPB
parameter block.completion
ICAGetPropertyData
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get data associated with a property. This API is deprecated in 10.5. Use one of the ICACopy* APIs instead.
ICAGetPropertyInfo |
Use this API to get information about a property. This API is deprecated in 10.5.
extern ICAError ICAGetPropertyInfo( ICAGetPropertyInfoPB *pb, ICACompletion completion );
pb
ICAGetPropertyInfoPB
parameter block.completion
ICAGetPropertyInfo
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get information about a property. This API is deprecated in 10.5.
ICAGetPropertyRefCon |
Use this API to get an arbitrary refcon associated with a property. This API is deprecated in 10.5.
extern ICAError ICAGetPropertyRefCon( ICAGetPropertyRefConPB *pb, ICACompletion completion );
pb
ICAGetPropertyRefConPB
parameter block.completion
ICAGetPropertyRefCon
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get an arbitrary refcon associated with a property. This API is deprecated in 10.5.
ICAGetRootOfObject |
Use this API to get an object's root object (in the object hierarchy) and its information. This API is deprecated in 10.5.
extern ICAError ICAGetRootOfObject( ICAGetRootOfObjectPB *pb, ICACompletion completion );
pb
ICAGetRootOfObjectPB
parameter block.completion
ICAGetRootOfObject
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get an object's root object (in the object hierarchy) and its information. This API is deprecated in 10.5.
ICAGetRootOfProperty |
Uset this API to get a property's root object (in the object hierarchy) and its information. This API is deprecated in 10.5.
extern ICAError ICAGetRootOfProperty( ICAGetRootOfPropertyPB *pb, ICACompletion completion );
pb
ICAGetRootOfPropertyPB
parameter block.completion
ICAGetRootOfProperty
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Uset this API to get a property's root object (in the object hierarchy) and its information. This API is deprecated in 10.5.
ICAImportImage |
This API displays a Common User Interface panel similar to the user interface of Image Capture Application. This allows the user to work a camera or a scanner.
extern ICAError ICAImportImage( ICAImportImagePB *pb, ICACompletion completion );
pb
ICAImportImagePB
parameter block.completion
ICAImportImage
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to add Image Capture support to an application.
Example: void ImportImage() { OSErr err; ICAImportImagePB pb = {};
pb.deviceObject = 0; pb.flags = 0; pb.supportedFileTypes = (CFArrayRef)[NSArray arrayWithObjects: @"tif", @"tiff", @"jpg", NULL]; err = ICAImportImage(&pb, NULL);
if ( noErr != err ) { // handle error } else { // Process the importedImages array // pb.importedImages // CFArrayRef * } }
ICALoadDeviceModule |
Use this API to load a device module.
extern ICAError ICALoadDeviceModule( ICALoadDeviceModulePB *pb, ICACompletion completion );
pb
ICALoadDeviceModulePB
parameter block.completion
ICALoadDeviceModule
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Typically, connecting a FireWire or an USB device will automatically load an appropriate device module. This API is needed only for loading a device module manually for devices that do not use a hot-plug interface, such as Bluetooth, SCSI, or TCP/IP.
ICAObjectSendMessage |
Use this API to send a message to a device object.
extern ICAError ICAObjectSendMessage( ICAObjectSendMessagePB *pb, ICACompletion completion );
pb
ICAObjectSendMessagePB
parameter block.completion
ICAObjectSendMessage
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to send a message to a device object. All devices do not respond to all the messages defined above.
ICAOpenSession |
Use this API to open a session on a camera device. For a scanner device use the ICAScannerOpenSession API.
extern ICAError ICAOpenSession( ICAOpenSessionPB *pb, ICACompletion completion );
pb
ICAOpenSessionPB
parameter block.completion
ICAOpenSession
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This API gets a session ID for a open session on a camera device. Since access to cameras is generally not be session-based, this API generall will not fail. If the camera has open session, the device module controlling the camera will continue to control it during fast-user-switching.
ICARegisterEventNotification |
This API is deprecated in 10.5. Use ICARegisterForEventNotification API instead.
extern ICAError ICARegisterEventNotification( ICARegisterEventNotificationPB *pb, ICACompletion completion );
pb
ICARegisterEventNotificationPB
parameter block.completion
ICARegisterEventNotification
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This API is deprecated in 10.5. Use ICARegisterForEventNotification API instead.
ICARegisterForEventNotification |
Use this API to register with Image Capture framework to receive notification about events of interest.
extern ICAError ICARegisterForEventNotification( ICARegisterForEventNotificationPB *params, ICACompletion completionProc );
params
completionProc
Returns an error code defined in ICAApplication.h
ICAScannerCloseSession |
Use this API to close a session on a scanner device. For a camera device use the ICACloseSession API.
extern ICAError ICAScannerCloseSession( ICAScannerCloseSessionPB *pb, ICACompletion completion );
pb
ICAScannerCloseSessionPB
parameter block.completion
ICAScannerCloseSession
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
This API closes an open session, allowing other clients to work with the scanner.
ICAScannerGetParameters |
Use this API to get information about the scanner such as resolution, scanning area, etc.
extern ICAError ICAScannerGetParameters( ICAScannerGetParametersPB *pb, ICACompletion completion );
pb
ICAScannerGetParametersPB
parameter block.completion
ICAScannerGetParameters
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get information about the scanner such as resolution, scanning area, etc.
ICAScannerInitialize |
Use this API to initialize a scanner device.
extern ICAError ICAScannerInitialize( ICAScannerInitializePB *pb, ICACompletion completion );
pb
ICAScannerInitializePB
parameter block.completion
ICAScannerInitialize
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
After opening a session on a scanner device, use this API to set an initial state for the scanner.
ICAScannerOpenSession |
Use this API to open a session on a scanner device. For a camera device use the ICAOpenSession API.
extern ICAError ICAScannerOpenSession( ICAScannerOpenSessionPB *pb, ICACompletion completion );
pb
ICAScannerOpenSessionPB
parameter block.completion
ICAScannerOpenSession
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
For a given scanner, this API returns a unique session ID that allows you to work with the device. This API will fail, if a session is already open.
ICAScannerSetParameters |
Use this API to specify scan parameters that will be used when a scan is initiated via an ICAScannerStart.
extern ICAError ICAScannerSetParameters( ICAScannerSetParametersPB *pb, ICACompletion completion );
pb
ICAScannerSetParametersPB
parameter block.completion
ICAScannerSetParameters
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to specify scan parameters that will be used when a scan is initiated via an ICAScannerStart.
ICAScannerStart |
Use this API start a scan based on the parameters that were specified in a previous ICAScannerSetParameters call.
extern ICAError ICAScannerStart( ICAScannerStartPB *pb, ICACompletion completion );
pb
ICAScannerStartPB
parameter block.completion
ICAScannerStart
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API start a scan based on the parameters that were specified in a previous ICAScannerSetParameters call.
ICAScannerStatus |
Use this API to get information about the current status of the scanner.
extern ICAError ICAScannerStatus( ICAScannerStatusPB *pb, ICACompletion completion );
pb
ICAScannerStatusPB
parameter block.completion
ICAScannerStatus
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to get information about the current status of the scanner.
ICASetObjectRefCon |
Use this API to set an arbitrary refcon for an object. This API is deprecated in 10.5.
extern ICAError ICASetObjectRefCon( ICASetObjectRefConPB *pb, ICACompletion completion );
pb
ICASetObjectRefConPB
parameter block.completion
ICASetObjectRefCon
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to set an arbitrary refcon for an object. This API is deprecated in 10.5.
ICASetPropertyData |
Use this API to set data for a property. This API is deprecated in 10.5.
extern ICAError ICASetPropertyData( ICASetPropertyDataPB *pb, ICACompletion completion );
pb
ICASetPropertyDataPB
parameter block.completion
ICASetPropertyData
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to set data for a property. This API is deprecated in 10.5.
ICASetPropertyRefCon |
Use this API to set an arbitrary refcon for a property. This API is deprecated in 10.5.
extern ICAError ICASetPropertyRefCon( ICASetPropertyRefConPB *pb, ICACompletion completion );
pb
ICASetPropertyRefConPB
parameter block.completion
ICASetPropertyRefCon
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
Use this API to set an arbitrary refcon for a property. This API is deprecated in 10.5.
ICAShowDeviceBrowser |
Use this API to display a device browser user interface from any Image Capture client application.
extern ICAError ICAShowDeviceBrowser( CFDictionaryRef options );
options
Returns an error code defined in ICAApplication.h
The device browser user interface allows the user to do the following: - enable and disable sharing of locally connected cameras and scanners. - connect to or disconnect from cameras and scanners shared by other computers. - configure WiFi capable cameras for use over the WiFi network.
ICAUnloadDeviceModule |
Uset this API to unload a device module.
extern ICAError ICAUnloadDeviceModule( ICAUnloadDeviceModulePB *pb, ICACompletion completion );
pb
ICAUnloadDeviceModulePB
parameter block.completion
ICAUnloadDeviceModule
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
The device module providing this object will be unloaded, if this is the last device object provided by the device module.
ICAUploadFile |
Use this API to upload a file to a device that supports this capability.
extern ICAError ICAUploadFile( ICAUploadFilePB *pb, ICACompletion completion );
pb
ICAUploadFilePB
parameter block.completion
ICAUploadFile
function. Set this parameter to NULL
to invoke this API synchronously.Returns an error code defined in ICAApplication.h
The device choses an appropriate destination location for the uploaded image and sends a kICANotificationTypeObjectAdded notification.
Example: void UploadFile() { OSErr err; ICAUploadFilePB pb = {};
pb.fileFSRef = <#FSRef * fileFSRef#>; pb.flags = <#UInt32 flags#>; pb.parentObject = <#ICAObject parentObject#>; err = ICAUploadFile( &pb, NULL );
if ( noErr != err ) { // handle error } else { // no return value(s) } }
ICACloseSessionPB |
typedef struct ICACloseSessionPB { ICAHeader header; ICASessionID sessionID; } ICACloseSessionPB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the session to be closed. <--
ICACopyObjectDataPB |
typedef struct ICACopyObjectDataPB { ICAHeader header; ICAObject object; size_t startByte; size_t requestedSize; CFDataRef *data; } ICACopyObjectDataPB;
header
- See description for ICAHeader. <->
object
- A file object. <--
startByte
- Starting byte offset of the data in the file object. <--
requestedSize
- Requested data size in bytes. <--
data
- A pointer to CFDataRef in which the data will be returned. --> It is the responsibility fo the caller to release this object.
ICACopyObjectPropertyDictionaryPB |
typedef struct ICACopyObjectPropertyDictionaryPB { ICAHeader header; ICAObject object; CFDictionaryRef *theDict; } ICACopyObjectPropertyDictionaryPB;
header
- See description for ICAHeader. <->
object
- An object whose properties are being requested. <--
theDict
- A dictionary to hold the properties. This must be released by the caller. -->
ICACopyObjectThumbnailPB |
typedef struct ICACopyObjectThumbnailPB { ICAHeader header; ICAObject object; OSType thumbnailFormat; CFDataRef *thumbnailData; } ICACopyObjectThumbnailPB;
header
- See description for ICAHeader. <->
object
- An object whose thumbail is being requested. <--
thumbnailFormat
- One of the format values defined above. <--
thumbnailData
- A pointer to a CFDataRef holding the thumbnail data. The returned CFDataRef must be released by the caller. -->
ICADownloadFilePB |
typedef struct ICADownloadFilePB { ICAHeader header; ICAObject object; FSRef *dirFSRef; UInt32 flags; OSType fileType; OSType fileCreator; Fixed rotationAngle; FSRef *fileFSRef; } ICADownloadFilePB;
header
- See description for ICAHeader. <->
object
- The file object. <--
dirFSRef
- FSRef of destination directiory. <--
flags
- Any combination of flag values defined above. <--
fileType
- Four-char code indicating the type of file. <--
fileCreator
- Four-char code indicating with the creator of the file. <--
rotationAngle
- Rotation angle in steps of 90 degress. <--
fileFSRef
- A pointer to FSRef struct to hold the FSRef of downloaded file. Set this to NULL if the FSRef of downloaded file is not of interest. -->
ICAExtendedRegisterEventNotificationPB |
typedef struct ICAExtendedRegisterEventNotificationPB { ICAHeader header; ICAObject object; OSType extd; ICACompletion notifyProc; UInt32 rawEventType; OSType eventType; OSType eventClass; UInt32 eventDataSize; ICAEventDataCookie eventDataCookie; ICAObject deviceObject; } ICAExtendedRegisterEventNotificationPB;
header
- See description for ICAHeader. <->
object
- An object about which notifications are requested. <->
extd
- Set this to kExtendedNotificationPB.
notifyProc
- A callback function to receive the notifications. <--
rawEventType
- Type of event that occurred. This could be vendor-specific.
eventType
- Type of ImageCapture supported event that occurred. Refer to "Image Capture event types". <->
eventClass
- Set to one of the following: 'kICAEventClassPTPStandard', 'kICAEventClassPTPStandard or any vendor-specific value. -->
eventDataSize
- This is non-zero if there is additional data associated with this event. Additional event data can be fetched by calling ICAObjectSendMessage with messageType set to 'kICAMessageGetEventData', dataType set to value of eventDataCookie and dataSize set to value of eventDataSize. -->
eventDataCookie
- A token identifying the additional data associated with this event. Additional event data can be fetched by calling ICAObjectSendMessage with messageType set to 'kICAMessageGetEventData', dataType set to value of eventDataCookie and dataSize set to value of eventDataSize. -->
deviceObject
- Device object associated with the event. -->
Use this parameter block with the 'extd' field set to kExtendedNotificationPB to receive detailed (extended) notifications. This parameter block is passed back with event notifications to the callback function.
ICAGetChildCountPB |
typedef struct ICAGetChildCountPB { ICAHeader header; ICAObject object; UInt32 count; } ICAGetChildCountPB;
header
- See description for ICAHeader. <-->
object
- An object whose number of children is being requested by calling ICAGetChildCount. <--
count
- Number of children returned by ICAGetChildCount, if successful. Should check err field in header before using the value returned in count. -->
ICAGetDeviceListPB |
typedef struct ICAGetDeviceListPB { ICAHeader header; ICAObject object; } ICAGetDeviceListPB;
header
- See description for ICAHeader. <-->
object
- The device list object, if ICAGetDeviceList returns successfully. -->
ICAGetNthChildPB |
typedef struct ICAGetNthChildPB { ICAHeader header; ICAObject parentObject; UInt32 index; ICAObject childObject; ICAObjectInfo childInfo; } ICAGetNthChildPB;
header
- See description for ICAHeader. <-->
parentObject
- An object whose child is being accessed. <--
index
- A zero based index in to the children of 'parentObject'. <--
childObject
- Child object, if ICAGetNthChild returns successfully. -->
childInfo
- Object information for 'childObject', if ICAGetNthChild returns successfully. -->
ICAGetNthPropertyPB |
typedef struct ICAGetNthPropertyPB { ICAHeader header; ICAObject object; UInt32 index; ICAProperty property; ICAPropertyInfo propertyInfo; } ICAGetNthPropertyPB;
header
- See description for ICAHeader. <-->
object
- An object whose property is being fetched. <--
index
- A zero based index in to the properties of 'object'. <--
property
- Property, if ICAGetNthProperty returns successfully. -->
propertyInfo
- Property information for 'property', if ICAGetNthProperty returns successfully. -->
ICAGetObjectInfoPB |
typedef struct ICAGetObjectInfoPB { ICAHeader header; ICAObject object; ICAObjectInfo objectInfo; } ICAGetObjectInfoPB;
header
- See description for ICAHeader. <-->
object
- An object whose information is being requested by calling ICAGetObjectInfo. <--
objectInfo
- Object information for 'object', if ICAGetObjectInfo returns successfully. -->
ICAGetObjectRefConPB |
typedef struct ICAGetObjectRefConPB { ICAHeader header; ICAObject object; unsigned long objectRefCon; } ICAGetObjectRefConPB;
header
- See description for ICAHeader. <-->
object
- An object whose associated refcon value is being accessed by calling ICAGetObjectRefCon. <--
objectRefCon
- The refcon value. -->
ICAGetParentOfObjectPB |
typedef struct ICAGetParentOfObjectPB { ICAHeader header; ICAObject object; ICAObject parentObject; ICAObjectInfo parentInfo; } ICAGetParentOfObjectPB;
header
- See description for ICAHeader. <-->
object
- An object whose parent is being accessed by calling ICAGetParentOfObject. <--
parentObject
- Parent object, if ICAGetParentOfObject returns successfully. -->
parentInfo
- Object information for the parent object, if ICAGetParentOfObject returns successfully. -->
ICAGetParentOfPropertyPB |
typedef struct ICAGetParentOfPropertyPB { ICAHeader header; ICAProperty property; ICAObject parentObject; ICAObjectInfo parentInfo; } ICAGetParentOfPropertyPB;
header
- See description for ICAHeader. <-->
property
- A property whose parent is being fetched. <--
parentObject
- Parent object, if ICAGetParentOfProperty returns successfully. -->
parentInfo
- Information about 'parentObject', if ICAGetParentOfProperty returns successfully. -->
ICAGetPropertyByTypePB |
typedef struct ICAGetPropertyByTypePB { ICAHeader header; ICAObject object; OSType propertyType; ICAProperty property; ICAPropertyInfo propertyInfo; } ICAGetPropertyByTypePB;
header
- See description for ICAHeader. <-->
object
- An object whose property is being fetched. <--
propertyType
- The type of property being fetched. <--
property
- Property, if ICAGetPropertyByType returns successfully. -->
propertyInfo
- Property information for 'property', if ICAGetPropertyByType returns successfully. -->
ICAGetPropertyCountPB |
typedef struct ICAGetPropertyCountPB { ICAHeader header; ICAObject object; UInt32 count; } ICAGetPropertyCountPB;
header
- See description for ICAHeader. <-->
object
- An object whose number of properties is being requested by calling ICAGetPropertyCount. <--
count
- Number of properties returned by ICAGetPropertyCount, if successful. Should check err field in header before using the value returned in count. -->
ICAGetPropertyDataPB |
typedef struct ICAGetPropertyDataPB { ICAHeader header; ICAProperty property; UInt32 startByte; UInt32 requestedSize; void *dataPtr; UInt32 actualSize; OSType dataType; } ICAGetPropertyDataPB;
header
- See description for ICAHeader. <-->
property
- Property whose data is being fetched. <--
startByte
- Offset into 'dataPtr' from where the fetched data should be written. <--
requestedSize
- Requested size of data in bytes. <--
dataPtr
- A buffer to receive the data. <--
actualSize
- Actual size of data written to dataPtr. -->
dataType
- Type of data fetched. -->
ICAGetPropertyInfoPB |
typedef struct ICAGetPropertyInfoPB { ICAHeader header; ICAProperty property; ICAPropertyInfo propertyInfo; } ICAGetPropertyInfoPB;
header
- See description for ICAHeader. <-->
property
- Property whose information is being fetched. <--
propertyInfo
- Property information for 'property', if ICAGetPropertyInfo returns successfully. -->
ICAGetPropertyRefConPB |
typedef struct ICAGetPropertyRefConPB { ICAHeader header; ICAProperty property; UInt32 propertyRefCon; } ICAGetPropertyRefConPB;
header
- See description for ICAHeader. <-->
property
- A property whos associated refcon value is being fetched. <--
propertyRefCon
- The refcon value, if ICAGetPropertyRefCon returns successfully. -->
ICAGetRootOfObjectPB |
typedef struct ICAGetRootOfObjectPB { ICAHeader header; ICAObject object; ICAObject rootObject; ICAObjectInfo rootInfo; } ICAGetRootOfObjectPB;
header
- See description for ICAHeader. <-->
object
- An object whose parent is being accessed by calling ICAGetRootOfObject. <--
rootObject
- Root object of the object hierarchy, if ICAGetRootOfObject returns successfully. -->
rootInfo
- Object information for the root object, if ICAGetRootOfObject returns successfully. -->
ICAGetRootOfPropertyPB |
typedef struct ICAGetRootOfPropertyPB { ICAHeader header; ICAProperty property; ICAObject rootObject; ICAObjectInfo rootInfo; } ICAGetRootOfPropertyPB;
header
- See description for ICAHeader. <-->
property
- A property whose parent is being fetched. <--
rootObject
- Root object of the hierarchy in which the parent object of property is found, if ICAGetRootOfProperty returns successfully. -->
rootInfo
- Information about 'rootObject', if ICAGetRootOfProperty returns successfully. -->
ICAHeader |
typedef struct ICAHeader { ICAError err; unsigned long refcon; } ICAHeader;
err
- Error returned by an API. -->
refcon
- An arbitrary refcon value passed to the callback. <--
This is the first field in all parameter blocks used by APIs defined in ICAApplication.h. Type of parameter passed to a callback function used by APIs defined in ICAApplication.h. The parameter for the completion proc should to be casted to an appropriate type such as ICAGetChildCountPB* for it to be useful.
ICAImportImagePB |
typedef struct ICAImportImagePB { ICAHeader header; ICAObject deviceObject; UInt32 flags; CFArrayRef supportedFileTypes; ICAImportFilterProc filterProc; CFArrayRef *importedImages; } ICAImportImagePB;
header
- See description for ICAHeader. <->
deviceObject
- Object ID of a camera or scanner device. Set this to NULL to ge the default behavior: (a) if no device is connected, a panel saying that there\xD5s no device connected is displayed, (b) if a single device is connected, an appropriate user interface to access that device will be displayed, (c) if several devices are connected, a device selector panel will be displayed. <--
flags
- One or more flags (combined with an OR operator) defined in ImportImage flags enum. <--
supportedFileTypes
- An array of file extension strings such as "jpg", "tif", etc., that are of interest to the calling application. Set to NULL to display all files. <--
filterProc
- Specify a filter proc to that will be called for each file before it is displayed in the user interface. <--
importedImages
- Returns an array of CFDataRefs for the imported images if the kICADownloadAndReturnPathArray flag is not specified. Otherwise returns an array of CFStringRefs holding the paths of the images that are downloaded. -->
ICALoadDeviceModulePB |
typedef struct ICALoadDeviceModulePB { ICAHeader header; CFDictionaryRef paramDictionary; } ICALoadDeviceModulePB;
header
- See description for ICAHeader. <->
paramDictionary
- <-- A parameter dictionary with sufficient key-value pairs to load a device module. This dictionary itself or the information provided in this dictionary will be sent to the device module.
ICAMessage |
typedef struct ICAMessage { OSType messageType; UInt32 startByte; void *dataPtr; UInt32 dataSize; OSType dataType; } ICAMessage;
messageType
- A message type. e.g., kICAMessageCameraCaptureNewImage. <--
startByte
- Offset in dataPtr from where data access for read/write should occur. <--
dataPtr
- A pointer to a data buffer. <--
dataSize
- Size of data. <--
dataType
- Type of data. <--
ICAObjectInfo |
typedef struct ICAObjectInfo { OSType objectType; OSType objectSubtype; } ICAObjectInfo;
objectType
- An object type, e.g., kICAFile.
objectSubtype
- An object subtype, e.g., kICAFileImage.
ICAObjectSendMessagePB |
typedef struct ICAObjectSendMessagePB { ICAHeader header; ICAObject object; ICAMessage message; UInt32 result; } ICAObjectSendMessagePB;
header
- See description for ICAHeader. <-->
object
- A target object for the message sent by ICAObjectSendMessage. <--
message
- One of the messages define above. <--
result
- A message specific result is returned here. -->
ICAOpenSessionPB |
typedef struct ICAOpenSessionPB { ICAHeader header; ICAObject deviceObject; ICASessionID sessionID; } ICAOpenSessionPB;
header
- See description for ICAHeader. <->
deviceObject
- A camera object. <--
sessionID
- A session ID of the opened session. -->
ICAPropertyInfo |
typedef struct ICAPropertyInfo { OSType propertyType; OSType dataType; UInt32 dataSize; UInt32 dataFlags; } ICAPropertyInfo;
propertyType
- A property type.
dataType
- A property subtype.
dataSize
- TBD
dataFlags
- TBD
ICAPTPEventDataset |
typedef struct ICAPTPEventDataset { UInt32 dataLength; UInt16 containerType; // should be 0x0004 for event UInt16 eventCode; UInt32 transactionID; UInt32 params[3]; // up to 3 params. # of params = (dataLength - 12)/4 } ICAPTPEventDataset;
dataLength
- Data length in bytes
containerType
- PTP container type
eventCode
- PTP event code
transactionID
- PTP transaction ID
params
- PTP params. The number of params should be (dataLength - 12)/4
ICAPTPPassThroughPB |
typedef struct ICAPTPPassThroughPB { UInt32 commandCode; UInt32 resultCode; UInt32 numOfInputParams; UInt32 numOfOutputParams; UInt32 params[4]; UInt32 dataUsageMode; UInt32 flags; UInt32 dataSize; UInt8 data[1]; } ICAPTPPassThroughPB;
commandCode
- PTP command code (including vendor specific) <--
resultCode
- PTP response code -->
numOfInputParams
- Number of valid parameters to be sent to device <--
numOfOutputParams
- Number of valid parameters expected from device <--
params
- PTP parameters (command specific / optional) <->
dataUsageMode
- One of (kICACameraPassThruSend, kICACameraPassThruReceive, kICACameraPassThruNotUsed) <--
flags
- Not used currently
dataSize
- Size of data block <->
data
- Data block <->
ICARegisterEventNotificationPB |
typedef struct ICARegisterEventNotificationPB { ICAHeader header; ICAObject object; OSType notifyType; ICACompletion notifyProc; } ICARegisterEventNotificationPB;
header
- See description for ICAHeader. <-->
object
- An object about which notifications are requested. <->
notifyType
- Notification type of interest. <->
notifyProc
- A callback function to receive the notifications. <--
Use this parameter block to receive basic notifications.
ICARegisterForEventNotificationPB |
typedef struct ICARegisterForEventNotificationPB { ICAHeader header; ICAObject objectOfInterest; CFArrayRef eventsOfInterest; ICANotification notificationProc; CFDictionaryRef options; } ICARegisterForEventNotificationPB;
header
- See description for ICAHeader. <->
objectOfInterest
- An object about which notifications are requested. <--
eventsOfInterest
- An array of notification types of interest. <--
notificationProc
- A callback function to receive the notifications. <--
options
- Set options to NULL. This parameter is intended for future use. <--
Use this parameter structure to specify a set of events associated with an object about which notifications should be sent to the specified notification function.
ICAScannerCloseSessionPB |
typedef struct ICAScannerCloseSessionPB { ICAHeader header; ICAScannerSessionID sessionID; } ICAScannerCloseSessionPB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the session to be closed. <--
ICAScannerGetParametersPB |
typedef struct ICAScannerGetParametersPB { ICAHeader header; ICAScannerSessionID sessionID; CFMutableDictionaryRef theDict; } ICAScannerGetParametersPB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the scanner whose parameters are being fetched. <--
theDict
- A dictionary containing the parameters. -->
ICAScannerInitializePB |
typedef struct ICAScannerInitializePB { ICAHeader header; ICAScannerSessionID sessionID; } ICAScannerInitializePB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the scanner to be initialized. <--
ICAScannerOpenSessionPB |
typedef struct ICAScannerOpenSessionPB { ICAHeader header; ICAObject object; ICAScannerSessionID sessionID; } ICAScannerOpenSessionPB;
header
- See description for ICAHeader. <->
object
- A scanner object. <--
sessionID
- A session ID of the opened session. -->
ICAScannerSetParametersPB |
typedef struct ICAScannerSetParametersPB { ICAHeader header; ICAScannerSessionID sessionID; CFMutableDictionaryRef theDict; } ICAScannerSetParametersPB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the scanner whose parameters are being set. <--
theDict
- A dictionary containing the parameters. <--
ICAScannerStartPB |
typedef struct ICAScannerStartPB { ICAHeader header; ICAScannerSessionID sessionID; } ICAScannerStartPB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the scanner that should start scanning. <--
ICAScannerStatusPB |
typedef struct ICAScannerStatusPB { ICAHeader header; ICAScannerSessionID sessionID; UInt32 status; } ICAScannerStatusPB;
header
- See description for ICAHeader. <->
sessionID
- A session ID of the scanner whose status is being fetched. <--
status
- A status value. -->
ICASetObjectRefConPB |
typedef struct ICASetObjectRefConPB { ICAHeader header; ICAObject object; unsigned long objectRefCon; } ICASetObjectRefConPB;
header
- See description for ICAHeader. <-->
object
- An object whose associated refcon value is being set by calling ICASetObjectRefCon. <--
objectRefCon
- The refcon value. <--
ICASetPropertyDataPB |
typedef struct ICASetPropertyDataPB { ICAHeader header; ICAProperty property; UInt32 startByte; void *dataPtr; UInt32 dataSize; OSType dataType; } ICASetPropertyDataPB;
header
- See description for ICAHeader. <-->
property
- Property whose data is being fetched. <--
startByte
- Offset into 'dataPtr' from where the data being sent is found. <--
dataPtr
- A buffer holding data being sent. <--
dataSize
- Size of data sent in dataPtr. <--
dataType
- Type of data sent. <--
ICASetPropertyRefConPB |
typedef struct ICASetPropertyRefConPB { ICAHeader header; ICAProperty property; /* <-- */ UInt32 propertyRefCon; /* <-- */ } ICASetPropertyRefConPB;
header
- See description for ICAHeader. <-->
property
- A property whos associated refcon value is being set. <--
propertyRefCon
- The refcon value. <--
ICAThumbnail |
typedef struct ICAThumbnail { UInt32 width; UInt32 height; UInt32 dataSize; UInt8 data[1]; } ICAThumbnail;
width
- Thumbnail width in pixels.
height
- Thumbnail height in pixels.
dataSize
- Thumbnail size in bytes. This should be 3*height*width for thumbnails without alpha channel and should be 4*height*width for thumbnails with alpha channel. The alpha channel is always stored at the end of the buffer.
data
- Thumbnail buffer of 8-bit RGB data (RGBRGBRGB...)
This type is deprecated. Use ICACopyObjectThumbnail call to receive thumbnail in JPG, TIFF or PNG format.
ICAUnloadDeviceModulePB |
typedef struct ICAUnloadDeviceModulePB { ICAHeader header; ICAObject deviceObject; } ICAUnloadDeviceModulePB;
header
- See description for ICAHeader. <->
deviceObject
- <-- A device ICAObject.
ICAUploadFilePB |
typedef struct ICAUploadFilePB { ICAHeader header; ICAObject parentObject; FSRef *fileFSRef; UInt32 flags; } ICAUploadFilePB;
header
- See description for ICAHeader. <->
parentObject
- <-> An ICAObject corresponding to a folder on the device. The device will store the uploaded file inside this folder if possible.
fileFSRef
- <-- An FSRef for the file to be uploaded to the device.
flags
- <-- One of the flags defined above.
Button types |
enum { kICAButtonScan = 'scan', kICAButtonCopy = 'copy', kICAButtonEMail = 'mail', kICAButtonWeb = 'web ' };
kICAButtonScan
- Scan button.
kICAButtonCopy
- Copy button.
kICAButtonEMail
- Email button.
kICAButtonWeb
- Web button.
Buttons types associated with buttons on a scanner.
Data types |
enum { kICATypeUInt8 = 'ui08', kICATypeUInt16 = 'ui16', kICATypeUInt32 = 'ui32', kICATypeUInt64 = 'ui64', kICATypeSInt16 = 'si16', kICATypeSInt32 = 'si32', kICATypeSInt64 = 'si64', kICATypeFloat = 'floa', kICATypeFixed = 'sing', kICATypeBoolean = 'bool', kICATypeString = 'TEXT', kICATypeData = 'data', kICATypeThumbnail = 'thum' };
kICATypeUInt8
- UInt8.
kICATypeUInt16
- UInt16.
kICATypeUInt32
- UInt32.
kICATypeUInt64
- UInt64.
kICATypeSInt16
- SInt16.
kICATypeSInt32
- SInt32.
kICATypeSInt64
- SInt64.
kICATypeFloat
- float.
kICATypeFixed
- IEEE 32-bit floating point.
kICATypeBoolean
- Boolean.
kICATypeString
- Char string.
kICATypeData
- void *.
kICATypeThumbnail
- ICAThumbnail.
Definition of data types; these are mapped to AppleEvent types.
Error codes |
enum { kICACommunicationErr = -9900, kICADeviceNotFoundErr = -9901, kICADeviceNotOpenErr = -9902, kICAFileCorruptedErr = -9903, kICAIOPendingErr = -9904, kICAInvalidObjectErr = -9905, kICAInvalidPropertyErr = -9906, kICAIndexOutOfRangeErr = -9907, kICAPropertyTypeNotFoundErr = -9908, kICACannotYieldDevice = -9909, kICADataTypeNotFoundErr = -9910, kICADeviceMemoryAllocationErr = -9911, kICADeviceInternalErr = -9912, kICADeviceInvalidParamErr = -9913, kICADeviceAlreadyOpenErr = -9914, kICADeviceLocationIDNotFoundErr = -9915, kICADeviceGUIDNotFoundErr = -9916, kICADeviceIOServicePathNotFoundErr = -9917, kICADeviceUnsupportedErr = -9918, kICAFrameworkInternalErr = -9919, kICAExtensionInternalErr = -9920, kICAInvalidSessionErr = -9921 };
kICACommunicationErr
- An error occurred in communication between different components of Image Capture framework.
kICADeviceNotFoundErr
- The specified device is not found.
kICADeviceNotOpenErr
- The specified device is not open.
kICAFileCorruptedErr
- Encountered a corrupt file.
kICAIOPendingErr
- There is a pending I/O.
kICAInvalidObjectErr
- The specified object is invalid.
kICAInvalidPropertyErr
- The specified property is invalid.
kICAIndexOutOfRangeErr
- The specified index is out of range.
kICAPropertyTypeNotFoundErr
- A property with the specified property type is not found.
kICACannotYieldDevice
- The device module cannot yield the specified device to the requestor.
kICADataTypeNotFoundErr
- Data with the specified data type is not found.
kICADeviceMemoryAllocationErr
- The device module encountered a memory allocation error.
kICADeviceInternalErr
- The device module encountered an unspecifed error.
kICADeviceInvalidParamErr
- At least one of the parameters passed to the device module is invalid.
kICADeviceAlreadyOpenErr
- The specified device is already open.
kICADeviceLocationIDNotFoundErr
- The specified USB Location ID is not found.
kICADeviceGUIDNotFoundErr
- The specified FireWire GUID is not found.
kICADeviceIOServicePathNotFoundErr
- The specified IOService path is not found.
kICAFrameworkInternalErr
- Image Capture Framework encountered an error.
kICAExtensionInternalErr
- Image Capture Extension encountered an error.
kICAInvalidSessionErr
- The specified session is not valid.
Definition of error codes returned by Image Capture framework
Event class returned in extended event notifications |
enum { kICAEventClassPTPStandard = 'PTPs', kICAEventClassPTPVendor = 'PTPv', kEventClassPTPStandard = 'PTPs', kEventClassPTPVendor = 'PTPv' };
kICAEventClassPTPStandard
- PTP standard event.
kICAEventClassPTPVendor
- PTP vendor-specific event.
kEventClassPTPStandard
- PTP standard event. Deprecated in 10.5. Use kICAEventClassPTPStandard instead.
kEventClassPTPVendor
- PTP vendor-specific event. Deprecated in 10.5. Use kICAEventClassPTPVendor instead.
Event class returned in extended event notifications. Deprecated in 10.5
Flag for reading property data |
enum { kICAStartAtBeginning = 0, kICAEntireLength = -1 };
kICAStartAtBeginning
- Start reading from the beginning.
kICAEntireLength
- Read all data.
Use one of these values when reading property data using partial reads.
Flag to use with ICADownloadFile |
enum { kDeleteAfterDownload = 0x00000001, kCreateCustomIcon = 0x00000002, kAddMetaDataToFinderComment = 0x00000004, kAdjustCreationDate = 0x00000008, kSetFileTypeAndCreator = 0x00000010, //kEmbedColorSyncProfile = 0x00000020, kRotateImage = 0x00000040, kDontEmbedColorSyncProfile = 0x00000080 };
kDeleteAfterDownload
- Delete file after a successful download.
kCreateCustomIcon
- Create a custom icon for Finder.
kAddMetaDataToFinderComment
- Add basic metadata to finder comment field.
kAdjustCreationDate
- Set creation date of the downloaded file same as the creation date for the file as reported by the device.
kSetFileTypeAndCreator
- Set 4-char file type and creator code.
kRotateImage
- Rotate the image.
kDontEmbedColorSyncProfile
- Embed ColorSync profile to the image if one was not already embedded.
Use any combination of these values when downloading a file.
Flags associated with Image Capture PassThru commands. |
enum { kICACameraPassThruSend = 0, kICACameraPassThruReceive = 1, kICACameraPassThruNotUsed = 2 };
kICACameraPassThruSend
- Use this constant when sending data to a device using a pass-through command.
kICACameraPassThruReceive
- Use this constant when receiving data from a device using a pass-through command.
kICACameraPassThruNotUsed
- Use this constant when using a pass-through command that doesn't involve sending or receiving data.
Flag values that can be used in ICAUploadFilePB parameter block.
ICAMessage types |
enum { kICAMessageConnect = 'open', kICAMessageDisconnect = 'clos', kICAMessageReset = 'rese', kICAMessageCheckDevice = 'chkd', kICAMessageCameraReadClock = 'rclk', kICAMessageGetLastButtonPressed = 'btn?', kMessageGetEventData = 'mged', // Deprecated in 10.5 kICAMessageGetEventData = 'mged', kICAMessageDeviceYield = 'yiel', kICAMessageCameraPassThrough = 'pass' };
kICAMessageConnect
- Connect to device.
kICAMessageDisconnect
- Disconnect device.
kICAMessageReset
- Reset device.
kICAMessageCheckDevice
- Check device.
kICAMessageCameraReadClock
- Read clock from device.
kICAMessageGetLastButtonPressed
- Get last button pressed on the device (scanner).
kICAMessageGetEventData
- Get data associated with an event.
kMessageGetEventData
- Get data associated with an event. This is deprecated in favor of kICAMessageGetEventData.
kICAMessageDeviceYield
- Yield device. Image Capture framework yields a device so that the sender of the message can directly communicate with the device.
Definition of ICAMessage types.
ICAObject types and subtypes |
enum { kICADevice = 'icdv', kICADeviceCamera = 'cmra', kICADeviceScanner = 'scan', kICADeviceMFP = 'mfp ', kICADevicePhone = 'phon', kICADevicePDA = 'pda ', kICADeviceOther = 'doth', kICAList = 'objl', kICADirectory = 'dire', kICAFile = 'file', kICAFileImage = 'imag', kICAFileMovie = 'moov', kICAFileAudio = 'audo', kICAFileFirmware = 'firm', kICAFileOther = 'othe' };
kICADevice
- Object is a device supported by Image Capture framework.
kICADeviceCamera
- Object is a camera.
kICADeviceScanner
- Object is a scanner.
kICADeviceMFP
- Object is a multi-function peripheral.
kICADevicePhone
- Object is a camera phone.
kICADevicePDA
- Object is a personal digital assistant.
kICADeviceOther
- Object is a device supported by Image Capture framework, but of unknown subtype.
kICAList
- Object is a device list.
kICADirectory
- Object is a directory.
kICAFile
- Object is a file.
kICAFileImage
- Object is an image file.
kICAFileMovie
- Object is a movie file.
kICAFileAudio
- Object is an audio file.
kICAFileFirmware
- Object is a firmware file.
kICAFileOther
- Object is a generic file.
Definition of ICAObject types and subtypes
ICAProperty types |
enum { kICAProperty = 'prop', kICAPropertyImageWidth = '0100', kICAPropertyImageHeight = '0101', kICAPropertyImageBitDepth = '0102', kICAPropertyImageDPI = '011A', kICAPropertyImageExposureTime = '829A', kICAPropertyImageFNumber = '829D', kICAPropertyImageDateOriginal = '9003', kICAPropertyImageDateDigitized = '9004', kICAPropertyImageShutterSpeed = '9201', kICAPropertyImageAperture = '9202', kICAPropertyImageFlash = '9209', kICAPropertyColorSpace = 'A001', kICAPropertyImageFilename = 'ifil', kICAPropertyImageSize = 'isiz', kICAPropertyImageData = 'idat', kICAPropertyImageThumbnail = 'thum', kICAPropertyColorSyncProfile = 'prof' };
kICAProperty
- Generic property type; for images, refer to 'Digital Still Camera Image File Format Standard' Exif Version 2.1 section 2.6.4. and 2.6.5.
kICAPropertyImageWidth
- Image width.
kICAPropertyImageHeight
- Image height.
kICAPropertyImageBitDepth
- Image bit-depth.
kICAPropertyImageDPI
- Image DPI.
kICAPropertyImageExposureTime
- Image exposure time.
kICAPropertyImageFNumber
- Image f-Number.
kICAPropertyImageDateOriginal
- Original date & time of an object; value associated with this property is a null-terminated string conforming to format "YYYY:MM:DD hh:mm:ss".
kICAPropertyImageDateDigitized
- Digitized date & time of an object; value associated with this property is a null-terminated string conforming to format "YYYY:MM:DD hh:mm:ss".
kICAPropertyImageShutterSpeed
- Shutter speed used to capture an image.
kICAPropertyImageAperture
- Aperture used to capture an image.
kICAPropertyImageFlash
- Indicates whether flash was used to capture an image.
kICAPropertyColorSpace
- Color space used to represent an image.
kICAPropertyImageFilename
- Filename of an image.
kICAPropertyImageSize
- Size of an image in bytes.
kICAPropertyImageData
- Data of an image.
kICAPropertyImageThumbnail
- Thumbnail of an image.
kICAPropertyColorSyncProfile
- ColorSync profile associated with an image.
Definition of ICAProperties
Image Capture event types |
enum { kICAEventCancelTransaction = 'ecnt', kICAEventObjectAdded = 'eoba', kICAEventObjectRemoved = 'eobr', kICAEventStoreAdded = 'esta', kICAEventStoreRemoved = 'estr', kICAEventDeviceAdded = 'edea', kICAEventDeviceRemoved = 'eder', kICAEventDevicePropChanged = 'edpc', kICAEventObjectInfoChanged = 'eoic', kICAEventDeviceInfoChanged = 'edic', kICAEventRequestObjectTransfer = 'erot', kICAEventStoreFull = 'estf', kICAEventDeviceReset = 'edvr', kICAEventStorageInfoChanged = 'esic', kICAEventCaptureComplete = 'ecpc', kICAEventUnreportedStatus = 'eurs', kICAExtendedNotificationPB = 'extd', kExtendedNotificationPB = 'extd' };
kICAEventCancelTransaction
- Cancel transaction.
kICAEventObjectAdded
- A new object has been added.
kICAEventObjectRemoved
- An object has been removed.
kICAEventStoreAdded
- A new storage has been added.
kICAEventStoreRemoved
- A storage has been removed.
kICAEventDeviceAdded
- A new device has been added.
kICAEventDeviceRemoved
- A device has been removed.
kICAEventDevicePropChanged
- Device property has changed.
kICAEventObjectInfoChanged
- Object information has changed.
kICAEventDeviceInfoChanged
- Device information has changed.
kICAEventRequestObjectTransfer
- Requesting transfer of an object.
kICAEventStoreFull
- Store is full.
kICAEventDeviceReset
- Device has been reset.
kICAEventStorageInfoChanged
- Storage information has changed.
kICAEventCaptureComplete
- Image capture has been completed.
kICAEventUnreportedStatus
- Unreported status.
kExtendedNotificationPB
- Indicates the event notification uses extended notification parameter block.
Image Capture event types (Refer to section 12.4 of PTP spec for PTP-specific events). These are deprecated in 10.5.
ImportImage flags. |
enum { kICAAllowMultipleImages = 0x00000001, kICADownloadAndReturnPathArray = 0x00000002 };
kICAAllowMultipleImages
- Use this constant to allow users to select multiple images in the Import Image dialog.
kICADownloadAndReturnPathArray
- Currently not used.
Flag values that can be used in ICAImportImagePB parameter block.
Parameter block version |
enum { kICAPBVersion = 0x00010000 };
kICAPBVersion
- Version 1 parameter block.
Parameter block version.
PropertyInfo flag values |
enum { kICAFlagReadWriteAccess = 1L << 0, kICAFlagReadAccess = 1L << 1 };
kICAFlagReadWriteAccess
- Access for read and write.
kICAFlagReadAccess
- Access for read only.
Values for PropertyInfo flag.
Thumbnail formats. |
enum { kICAThumbnailFormatICA = 'ica ', kICAThumbnailFormatJPEG = 'jpeg', kICAThumbnailFormatTIFF = 'tiff', kICAThumbnailFormatPNG = 'png ', kICAThumbnailFormatJPEGAutoRotated = 'JPEG', kICAThumbnailFormatTIFFAutoRotated = 'TIFF', kICAThumbnailFormatPNGAutoRotated = 'PNG ' };
kICAThumbnailFormatICA
- Use this constant to receive a thumbnail in ICAThumbnail structure. Deprecated in 10.5.
kICAThumbnailFormatJPEG
- Use this constant to receive a thumbnail in JPEG format.
kICAThumbnailFormatTIFF
- Use this constant to receive a thumbnail in TIFF format.
kICAThumbnailFormatPNG
- Use this constant to receive a thumbnail in PNG format.
kICAThumbnailFormatJPEGAutoRotated
- Use this constant to receive a thumbnail in JPEG format with its orientation matching the full image orientation.
kICAThumbnailFormatTIFFAutoRotated
- Use this constant to receive a thumbnail in TIFF format with its orientation matching the full image orientation.
kICAThumbnailFormatPNGAutoRotated
- Use this constant to receive a thumbnail in PNG format with its orientation matching the full image orientation.
Format alues that can be used in ICACopyObjectThumbnailPB parameter block.
Upload file option flags. |
enum { kICAUploadFileAsIs = 0x00000000, kICAUploadFileScaleToFit = 0x00000001 };
kICAUploadFileAsIs
- Use this constant to upload a file as is.
kICAUploadFileScaleToFit
- Use this constant to upload a file after scaling to fit a specified bounding rect.
Flag values that can be used in ICAUploadFilePB parameter block.
|