imagecapturecore

package
v0.6.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package imagecapturecore provides Go bindings for the ImageCaptureCore framework.

Browse for media devices and control them programmatically from your app.

Using ImageCaptureCore, your app can:

Essentials

Cameras

Scanners

Key Types

Code generated from Apple documentation. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ICButtonTypeCopy is a nonlocalized notification string to indicate that the Copy button on the device was pressed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICButtonTypeCopy
	ICButtonTypeCopy string
	// ICButtonTypeMail is a nonlocalized notification string to indicate that the Mail button on the device was pressed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICButtonTypeMail
	ICButtonTypeMail string
	// ICButtonTypePrint is a nonlocalized notification string to indicate that the Print button on the device was pressed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICButtonTypePrint
	ICButtonTypePrint string
	// ICButtonTypeScan is a nonlocalized notification string to indicate that the Scan button on the device was pressed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICButtonTypeScan
	ICButtonTypeScan string
	// ICButtonTypeTransfer is a nonlocalized notification string to indicate that the Transfer button on the device was pressed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICButtonTypeTransfer
	ICButtonTypeTransfer string
	// ICButtonTypeWeb is a nonlocalized notification string to indicate that the Web button on the device was pressed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICButtonTypeWeb
	ICButtonTypeWeb string
	// ICScannerStatusRequestsOverviewScan is a nonlocalized notification string to indicate that the scanner is requesting an overview scan.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerStatusRequestsOverviewScan
	ICScannerStatusRequestsOverviewScan string
	// ICScannerStatusWarmUpDone is a nonlocalized notification string to indicate that the scanner has warmed up.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerStatusWarmUpDone
	ICScannerStatusWarmUpDone string
	// ICScannerStatusWarmingUp is a nonlocalized notification string to indicate that the scanner is warming up.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerStatusWarmingUp
	ICScannerStatusWarmingUp string
)
View Source
var ICDeleteErrors struct {
	// Canceled: The deletion was canceled.
	Canceled ICDeleteError
	// DeviceMissing: The deletion failed because the device could not be found.
	DeviceMissing ICDeleteError
	// FileMissing: The deletion failed because the file could not be found.
	FileMissing ICDeleteError
	// ReadOnly: The deletion failed because the file had read-only permissions.
	ReadOnly ICDeleteError
}

ICDeleteErrors provides typed accessors for ICDeleteError constants.

View Source
var (
	// ICErrorDomain is an error returned by the ImageCaptureCore framework.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICErrorDomain
	ICErrorDomain foundation.NSErrorDomain
)

Functions

func NewDataBlock

func NewDataBlock(handler DataHandler) (objc.ID, func())

NewDataBlock wraps a Go DataHandler as an Objective-C block. The caller must defer the returned cleanup function.

func NewDataDataErrorBlock

func NewDataDataErrorBlock(handler DataDataErrorHandler) (objc.ID, func())

NewDataDataErrorBlock wraps a Go DataDataErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

func NewDataErrorBlock

func NewDataErrorBlock(handler DataErrorHandler) (objc.ID, func())

NewDataErrorBlock wraps a Go DataErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

func NewErrorBlock

func NewErrorBlock(handler ErrorHandler) (objc.ID, func())

NewErrorBlock wraps a Go ErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

func NewStringBlock

func NewStringBlock(handler StringHandler) (objc.ID, func())

NewStringBlock wraps a Go StringHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

  • [ICDeviceBrowser.RequestContentsAuthorizationWithCompletion]
  • [ICDeviceBrowser.RequestControlAuthorizationWithCompletion]
  • [ICDeviceBrowser.ResetContentsAuthorizationWithCompletion]
  • [ICDeviceBrowser.ResetControlAuthorizationWithCompletion]

func NewStringErrorBlock

func NewStringErrorBlock(handler StringErrorHandler) (objc.ID, func())

NewStringErrorBlock wraps a Go StringErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

func NewURLErrorBlock

func NewURLErrorBlock(handler URLErrorHandler) (objc.ID, func())

NewURLErrorBlock wraps a Go URLErrorHandler as an Objective-C block. The caller must defer the returned cleanup function.

Used by:

Types

type DataDataErrorHandler

type DataDataErrorHandler = func(*foundation.NSData, *foundation.NSData, error)

DataDataErrorHandler is the signature for a completion handler block.

Used by:

type DataErrorHandler

type DataErrorHandler = func(*foundation.NSData, error)

DataErrorHandler is the signature for a completion handler block.

Used by:

type DataHandler

type DataHandler = func(*foundation.NSData)

DataHandler is the signature for a completion handler block.

type DictionaryErrorHandler

type DictionaryErrorHandler = func(*foundation.INSDictionary, error)

DictionaryErrorHandler is the signature for a completion handler block.

Used by:

  • [ICCameraFile.RequestMetadataDictionaryWithOptionsCompletion]

type ErrorHandler

type ErrorHandler = func(error)

ErrorHandler is the signature for a completion handler block.

Used by:

type ICCameraDevice

type ICCameraDevice struct {
	ICDevice
}

An object that represents a camera.

Reading Files

Downloading Files

Deleting Files

Taking Pictures

Inspecting the Battery Charge Level

Synchronizing the Clock

Detecting Apple Devices

Detecting Mass Storage Devices

Removing a Device

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice

func ICCameraDeviceFromID

func ICCameraDeviceFromID(id objc.ID) ICCameraDevice

ICCameraDeviceFromID constructs a ICCameraDevice from an objc.ID.

An object that represents a camera.

func NewICCameraDevice

func NewICCameraDevice() ICCameraDevice

NewICCameraDevice creates a new ICCameraDevice instance.

func (ICCameraDevice) Autorelease

func (c ICCameraDevice) Autorelease() ICCameraDevice

Autorelease adds the receiver to the current autorelease pool.

func (ICCameraDevice) BatteryLevel

func (c ICCameraDevice) BatteryLevel() uint

The battery charge level.

Discussion

The value of this property ranges from 0 to 100.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/batteryLevel

func (ICCameraDevice) BatteryLevelAvailable

func (c ICCameraDevice) BatteryLevelAvailable() bool

A Boolean value that indicates whether the battery charge level is available.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/batteryLevelAvailable

func (ICCameraDevice) CancelDelete

func (c ICCameraDevice) CancelDelete()

Cancels the current delete operation.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/cancelDelete()

func (ICCameraDevice) CancelDownload

func (c ICCameraDevice) CancelDownload()

Cancels a download from the camera.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/cancelDownload()

func (ICCameraDevice) ContentCatalogPercentCompleted

func (c ICCameraDevice) ContentCatalogPercentCompleted() uint

The percentage of the camera’s content that has been catalogued.

Discussion

The value of this property ranges from 0 to 100.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/contentCatalogPercentCompleted

func (ICCameraDevice) Contents

func (c ICCameraDevice) Contents() []ICCameraItem

All image, movie, and audio files stored on the camera, in an order that reflects the camera’s storage folder structure.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/contents

func (ICCameraDevice) FilesOfType

func (c ICCameraDevice) FilesOfType(fileUTType string) []string

Returns an array of files of the selected type on the camera.

Discussion

For the `fileType` parameter, pass one of the following uniform type identifier strings: `kUTTypeImage`, `kUTTypeMovie`, `kUTTypeAudio`, or `kUTTypeData`.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/files(ofType:)

func (ICCameraDevice) ICloudPhotosEnabled

func (c ICCameraDevice) ICloudPhotosEnabled() bool

A Boolean value indicating whether the iCloud Photo Library is enabled on the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/iCloudPhotosEnabled

func (ICCameraDevice) Init

func (c ICCameraDevice) Init() ICCameraDevice

Init initializes the instance.

func (ICCameraDevice) IsAccessRestrictedAppleDevice

func (c ICCameraDevice) IsAccessRestrictedAppleDevice() bool

A Boolean value indicating whether the device is an Apple device, passcode-locked, and connected to an untrusted host.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/isAccessRestrictedAppleDevice

func (ICCameraDevice) IsEjectable

func (c ICCameraDevice) IsEjectable() bool

A Boolean value indicating whether the device can be ‘soft’ removed or disconnected.

Discussion

Soft ejecting an SD card is equivalent to unmounting it in Finder without physically removing it from the host.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/isEjectable

func (ICCameraDevice) IsLocked

func (c ICCameraDevice) IsLocked() bool

A Boolean value indicating whether the device is locked, preventing deletion of any asset.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/isLocked

func (ICCameraDevice) MediaFiles

func (c ICCameraDevice) MediaFiles() []ICCameraItem

All image, movie and audio files stored on the camera, without regard to the camera’s storage folder structure.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/mediaFiles

func (ICCameraDevice) MountPoint

func (c ICCameraDevice) MountPoint() string

The file system mount point for a camera using the mass storage transport type.

Discussion

This property is set for cameras whose ICDevice.TransportType is transportTypeMassStorage.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/mountPoint

func (ICCameraDevice) PtpEventHandler

func (c ICCameraDevice) PtpEventHandler() DataHandler

A closure for handling PTP event packets.

Discussion

Set this property as an alternative to setting up an object to handle PTP event packets. If the handler is set, it is called in place of the ICDevice.Delegate. If the handler is `nil`, the ICDevice.Delegate is called, if present. If both are set, only the handler is called.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/ptpEventHandler

func (ICCameraDevice) RequestDeleteFiles

func (c ICCameraDevice) RequestDeleteFiles(files []ICCameraItem)

Deletes files from the camera.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestDeleteFiles(_:)

func (ICCameraDevice) RequestDownloadFileOptionsDownloadDelegateDidDownloadSelectorContextInfo

func (c ICCameraDevice) RequestDownloadFileOptionsDownloadDelegateDidDownloadSelectorContextInfo(file IICCameraFile, options foundation.INSDictionary, downloadDelegate ICCameraDeviceDownloadDelegate, selector objc.SEL, contextInfo uintptr)

Downloads a file from the camera.

Discussion

Once this request completes, [DidDownloadFileErrorOptionsContextInfo] is called on the `downloadDelegate`.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestDownloadFile(_:options:downloadDelegate:didDownloadSelector:contextInfo:)

func (ICCameraDevice) RequestReadDataFromFileAtOffsetLengthReadDelegateDidReadDataSelectorContextInfo

func (c ICCameraDevice) RequestReadDataFromFileAtOffsetLengthReadDelegateDidReadDataSelectorContextInfo(file IICCameraFile, offset int64, length int64, readDelegate objectivec.IObject, selector objc.SEL, contextInfo uintptr)

Asynchronously reads data of a specified length from a specified offset.

Discussion

The `readDelegate` must implement a function with the signature `didReadData(NSData, ICCameraFile, NSError, Any)`, to be called when the request is completed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestReadData(from:atOffset:length:readDelegate:didReadDataSelector:contextInfo:)

func (ICCameraDevice) RequestSendPTPCommandOutDataCompletion

func (c ICCameraDevice) RequestSendPTPCommandOutDataCompletion(ptpCommand foundation.NSData, ptpData foundation.NSData, completion DataDataErrorHandler)

Sends a Picture Transfer Protocol (PTP) command to a camera asynchronously.

Discussion

The block receives the response, data, and an error message, if present.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestSendPTPCommand(_:outData:completion:)

func (ICCameraDevice) RequestSendPTPCommandOutDataSendCommandDelegateDidSendCommandSelectorContextInfo

func (c ICCameraDevice) RequestSendPTPCommandOutDataSendCommandDelegateDidSendCommandSelectorContextInfo(command foundation.NSData, data foundation.NSData, sendCommandDelegate objectivec.IObject, selector objc.SEL, contextInfo uintptr)

Sends a Picture Transfer Protocol (PTP) command to a camera asynchronously.

Discussion

Call this method only if the ICDevice.Capabilities property contains cameraDeviceCanAcceptPTPCommands. All PTP cameras have this capability.

The `sendCommandDelegate` must implement a function with the signature `- (void)(NSData*)command (NSData*)data (NSData*)response (NSError*)error (void*)contextInfo`, to be called when the request is completed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestSendPTPCommand(_:outData:sendCommandDelegate:didSendCommand:contextInfo:)

func (ICCameraDevice) RequestSyncClock

func (c ICCameraDevice) RequestSyncClock()

Synchronizes the camera’s clock with the computer’s clock.

Discussion

Send this request only if the camera has the cameraDeviceCanSyncClock capability.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestSyncClock()

func (ICCameraDevice) RequestTakePicture

func (c ICCameraDevice) RequestTakePicture()

Captures a new image using the camera.

Discussion

Before taking a picture, you must first enable tethering by calling [ICCameraDevice.RequestEnableTethering].

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/requestTakePicture()

func (ICCameraDevice) SetMediaPresentation

func (c ICCameraDevice) SetMediaPresentation(value ICMediaPresentation)

func (ICCameraDevice) SetPtpEventHandler

func (c ICCameraDevice) SetPtpEventHandler(value DataHandler)

func (ICCameraDevice) TetheredCaptureEnabled

func (c ICCameraDevice) TetheredCaptureEnabled() bool

A Boolean value indicating whether tethered capture is enabled on the camera.

Discussion

Use [ICCameraDevice.RequestEnableTethering] and [ICCameraDevice.RequestDisableTethering] to enable or disable tethered capture.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/tetheredCaptureEnabled

func (ICCameraDevice) TimeOffset

func (c ICCameraDevice) TimeOffset() foundation.NSTimeInterval

The time offset, in seconds, between the camera’s clock and the computer’s clock.

Discussion

The value of this property is positive if the camera’s clock is ahead of the computer’s clock. Ignore this property if the camera’s ICDevice.Capabilities do not include cameraDeviceCanSyncClock.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice/timeOffset

type ICCameraDeviceClass

type ICCameraDeviceClass struct {
	// contains filtered or unexported fields
}

func GetICCameraDeviceClass

func GetICCameraDeviceClass() ICCameraDeviceClass

GetICCameraDeviceClass returns the class object for ICCameraDevice.

func (ICCameraDeviceClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICCameraDeviceClass) Class

func (ic ICCameraDeviceClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICCameraDeviceDelegate

type ICCameraDeviceDelegate interface {
	objectivec.IObject
	ICDeviceDelegate

	// Tells the client that the camera device is done enumerating its content and is ready to receive requests.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/deviceDidBecomeReady(withCompleteContentCatalog:)
	DeviceDidBecomeReadyWithCompleteContentCatalog(device IICCameraDevice)

	// Tells the client when objects are added to the device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didAdd:)-8oukd
	CameraDeviceDidAddItems(camera IICCameraDevice, items []ICCameraItem)

	// Tells the client when objects are removed from the device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didRemove:)-4m5al
	CameraDeviceDidRemoveItems(camera IICCameraDevice, items []ICCameraItem)

	// Tells the client when one or more objects are renamed on the device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didRenameItems:)
	CameraDeviceDidRenameItems(camera IICCameraDevice, items []ICCameraItem)

	// Tells the client when the metadata requested for an item on a camera is available.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didReceiveMetadata:for:error:)
	CameraDeviceDidReceiveMetadataForItemError(camera IICCameraDevice, metadata foundation.INSDictionary, item IICCameraItem, error_ foundation.NSError)

	// Tells the client when the requested thumbnail is available.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didReceiveThumbnail:for:error:)
	CameraDeviceDidReceiveThumbnailForItemError(camera IICCameraDevice, thumbnail coregraphics.CGImageRef, item IICCameraItem, error_ foundation.NSError)

	// Tells the client when a capability of a camera changes.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDeviceDidChangeCapability(_:)
	CameraDeviceDidChangeCapability(camera IICCameraDevice)

	// Tells the client when an Apple device has been locked, and media is unavailable until the restriction has been removed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDeviceDidEnableAccessRestriction(_:)
	CameraDeviceDidEnableAccessRestriction(device IICDevice)

	// Tells the client when an Apple device has been unlocked, paired to the host, and media is available.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDeviceDidRemoveAccessRestriction(_:)
	CameraDeviceDidRemoveAccessRestriction(device IICDevice)

	// Tells the client about a PTP event.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didReceivePTPEvent:)
	CameraDeviceDidReceivePTPEvent(camera IICCameraDevice, eventData foundation.NSData)
}

Methods for detecting cameras, getting metadata and thumbnails, handling access and capability changes, and performing other actions on connected cameras.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate

type ICCameraDeviceDelegateConfig

type ICCameraDeviceDelegateConfig struct {

	// Removing Objects
	// CameraDeviceDidCompleteDeleteFilesWithError — Tells the client when the camera completes a delete operation.
	CameraDeviceDidCompleteDeleteFilesWithError func(camera ICCameraDevice, error_ foundation.NSError)

	// Responding to Capability Changes
	// CameraDeviceDidChangeCapability — Tells the client when a capability of a camera changes.
	CameraDeviceDidChangeCapability func(camera ICCameraDevice)

	// Responding to Access Restrictions
	// CameraDeviceDidEnableAccessRestriction — Tells the client when an Apple device has been locked, and media is unavailable until the restriction has been removed.
	CameraDeviceDidEnableAccessRestriction func(device ICDevice)
	// CameraDeviceDidRemoveAccessRestriction — Tells the client when an Apple device has been unlocked, paired to the host, and media is available.
	CameraDeviceDidRemoveAccessRestriction func(device ICDevice)

	// Responding to PTP Events
	// CameraDeviceDidReceivePTPEvent — Tells the client about a PTP event.
	CameraDeviceDidReceivePTPEvent func(camera ICCameraDevice, eventData foundation.NSData)

	// Other Methods
	// DeviceDidBecomeReadyWithCompleteContentCatalog — Tells the client that the camera device is done enumerating its content and is ready to receive requests.
	DeviceDidBecomeReadyWithCompleteContentCatalog func(device ICCameraDevice)
	// CameraDeviceDidReceiveMetadataForItemError — Tells the client when the metadata requested for an item on a camera is available.
	CameraDeviceDidReceiveMetadataForItemError func(camera ICCameraDevice, metadata foundation.INSDictionary, item ICCameraItem, error_ foundation.NSError)
	// CameraDeviceShouldGetMetadataOfItem — Tells the client when the camera is about to execute queued requests for the metadata of a specific item.
	CameraDeviceShouldGetMetadataOfItem func(cameraDevice ICCameraDevice, item ICCameraItem) bool
	// CameraDeviceShouldGetThumbnailOfItem — Tells the client when the camera is about to execute queued requests for the thumbnail of a specific item.
	CameraDeviceShouldGetThumbnailOfItem func(cameraDevice ICCameraDevice, item ICCameraItem) bool
}

ICCameraDeviceDelegateConfig holds optional typed callbacks for ICCameraDeviceDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type ICCameraDeviceDelegateObject

type ICCameraDeviceDelegateObject struct {
	objectivec.Object
}

ICCameraDeviceDelegateObject wraps an existing Objective-C object that conforms to the ICCameraDeviceDelegate protocol.

func ICCameraDeviceDelegateObjectFromID

func ICCameraDeviceDelegateObjectFromID(id objc.ID) ICCameraDeviceDelegateObject

ICCameraDeviceDelegateObjectFromID constructs a ICCameraDeviceDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewICCameraDeviceDelegate

func NewICCameraDeviceDelegate(config ICCameraDeviceDelegateConfig) ICCameraDeviceDelegateObject

NewICCameraDeviceDelegate creates an Objective-C object implementing the ICCameraDeviceDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned ICCameraDeviceDelegateObject satisfies the ICCameraDeviceDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (ICCameraDeviceDelegateObject) BaseObject

func (ICCameraDeviceDelegateObject) CameraDeviceDidAddItems

func (o ICCameraDeviceDelegateObject) CameraDeviceDidAddItems(camera IICCameraDevice, items []ICCameraItem)

Tells the client when objects are added to the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didAdd:)-8oukd

func (ICCameraDeviceDelegateObject) CameraDeviceDidChangeCapability

func (o ICCameraDeviceDelegateObject) CameraDeviceDidChangeCapability(camera IICCameraDevice)

Tells the client when a capability of a camera changes.

Discussion

For more information about device capabilities, see ICDeviceCapability.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDeviceDidChangeCapability(_:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidCompleteDeleteFilesWithError

func (o ICCameraDeviceDelegateObject) CameraDeviceDidCompleteDeleteFilesWithError(camera IICCameraDevice, error_ foundation.NSError)

Tells the client when the camera completes a delete operation.

Discussion

Initiate a delete operation using ICCameraDevice.RequestDeleteFiles.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didCompleteDeleteFilesWithError:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidEnableAccessRestriction

func (o ICCameraDeviceDelegateObject) CameraDeviceDidEnableAccessRestriction(device IICDevice)

Tells the client when an Apple device has been locked, and media is unavailable until the restriction has been removed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDeviceDidEnableAccessRestriction(_:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidReceiveMetadataForItemError

func (o ICCameraDeviceDelegateObject) CameraDeviceDidReceiveMetadataForItemError(camera IICCameraDevice, metadata foundation.INSDictionary, item IICCameraItem, error_ foundation.NSError)

Tells the client when the metadata requested for an item on a camera is available.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didReceiveMetadata:for:error:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidReceivePTPEvent

func (o ICCameraDeviceDelegateObject) CameraDeviceDidReceivePTPEvent(camera IICCameraDevice, eventData foundation.NSData)

Tells the client about a PTP event.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didReceivePTPEvent:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidReceiveThumbnailForItemError

func (o ICCameraDeviceDelegateObject) CameraDeviceDidReceiveThumbnailForItemError(camera IICCameraDevice, thumbnail coregraphics.CGImageRef, item IICCameraItem, error_ foundation.NSError)

Tells the client when the requested thumbnail is available.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didReceiveThumbnail:for:error:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidRemoveAccessRestriction

func (o ICCameraDeviceDelegateObject) CameraDeviceDidRemoveAccessRestriction(device IICDevice)

Tells the client when an Apple device has been unlocked, paired to the host, and media is available.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDeviceDidRemoveAccessRestriction(_:)

func (ICCameraDeviceDelegateObject) CameraDeviceDidRemoveItems

func (o ICCameraDeviceDelegateObject) CameraDeviceDidRemoveItems(camera IICCameraDevice, items []ICCameraItem)

Tells the client when objects are removed from the device.

Discussion

The objects in items are instances of the ICCameraFile class.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didRemove:)-4m5al

func (ICCameraDeviceDelegateObject) CameraDeviceDidRenameItems

func (o ICCameraDeviceDelegateObject) CameraDeviceDidRenameItems(camera IICCameraDevice, items []ICCameraItem)

Tells the client when one or more objects are renamed on the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:didRenameItems:)

func (ICCameraDeviceDelegateObject) CameraDeviceShouldGetMetadataOfItem

func (o ICCameraDeviceDelegateObject) CameraDeviceShouldGetMetadataOfItem(cameraDevice IICCameraDevice, item IICCameraItem) bool

Tells the client when the camera is about to execute queued requests for the metadata of a specific item.

Discussion

If the request is no longer needed—for example, if the item is no longer displayed on the screen—the client can cancel sending a request to the camera, speeding up the execution queue.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:shouldGetMetadataOf:)

func (ICCameraDeviceDelegateObject) CameraDeviceShouldGetThumbnailOfItem

func (o ICCameraDeviceDelegateObject) CameraDeviceShouldGetThumbnailOfItem(cameraDevice IICCameraDevice, item IICCameraItem) bool

Tells the client when the camera is about to execute queued requests for the thumbnail of a specific item.

Discussion

If the request is no longer needed—for example, if the item is no longer displayed on the screen—the client can cancel sending a request to the camera, speeding up the execution queue.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/cameraDevice(_:shouldGetThumbnailOf:)

func (ICCameraDeviceDelegateObject) DeviceDidBecomeReady

func (o ICCameraDeviceDelegateObject) DeviceDidBecomeReady(device IICDevice)

Tells the delegate when the device is ready to receive requests.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/deviceDidBecomeReady(_:)

func (ICCameraDeviceDelegateObject) DeviceDidBecomeReadyWithCompleteContentCatalog

func (o ICCameraDeviceDelegateObject) DeviceDidBecomeReadyWithCompleteContentCatalog(device IICCameraDevice)

Tells the client that the camera device is done enumerating its content and is ready to receive requests.

Discussion

You must open a session on the device before you can enumerate its content and make it ready to receive requests.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDelegate/deviceDidBecomeReady(withCompleteContentCatalog:)

func (ICCameraDeviceDelegateObject) DeviceDidChangeName

func (o ICCameraDeviceDelegateObject) DeviceDidChangeName(device IICDevice)

Tells the delegate when the name of a device changes.

Discussion

This happens if the device module overrides the default name of the device reported by the device’s transport layer, or if the name of the filesystem volume mounted by the device is changed by the user.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/deviceDidChangeName(_:)

func (ICCameraDeviceDelegateObject) DeviceDidCloseSessionWithError

func (o ICCameraDeviceDelegateObject) DeviceDidCloseSessionWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a session is closed on a device.

Discussion

This message completes the process initiated by the message “requestCloseSession” sent to the device object. This message is also sent if the device module in control of the device ceases to control the device.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didCloseSessionWithError:)

func (ICCameraDeviceDelegateObject) DeviceDidEjectWithError

func (o ICCameraDeviceDelegateObject) DeviceDidEjectWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when the ejection is complete.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didEjectWithError:)

func (ICCameraDeviceDelegateObject) DeviceDidEncounterError

func (o ICCameraDeviceDelegateObject) DeviceDidEncounterError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a device encounters an error.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didEncounterError:)

func (ICCameraDeviceDelegateObject) DeviceDidOpenSessionWithError

func (o ICCameraDeviceDelegateObject) DeviceDidOpenSessionWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a session is opened on a device.

Discussion

This message completes the process initiated by the message “requestOpenSession” sent to the device object.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didOpenSessionWithError:)

func (ICCameraDeviceDelegateObject) DeviceDidReceiveStatusInformation

func (o ICCameraDeviceDelegateObject) DeviceDidReceiveStatusInformation(device IICDevice, status foundation.INSDictionary)

Tells the delegate when status information is received from a device.

Discussion

The ‘status’ dictionary contains two keys, ICStatusNotificationKey and ICLocalizedStatusNotificationKey, which are defined above. Status information keys are located in their respective ICDevice type class header.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didReceiveStatusInformation:)

func (ICCameraDeviceDelegateObject) DidRemoveDevice

func (o ICCameraDeviceDelegateObject) DidRemoveDevice(device IICDevice)

Tells the delegate that a device has been removed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/didRemove(_:)

type ICCameraDeviceDownloadDelegate

type ICCameraDeviceDownloadDelegate interface {
	objectivec.IObject
}

Methods for managing camera file downloads.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDownloadDelegate

type ICCameraDeviceDownloadDelegateConfig

type ICCameraDeviceDownloadDelegateConfig struct {

	// Other Methods
	// DidReceiveDownloadProgressForFileDownloadedBytesMaxBytes — Updates the delegate about the status of the download.
	DidReceiveDownloadProgressForFileDownloadedBytesMaxBytes func(file ICCameraFile, downloadedBytes int64, maxBytes int64)
}

ICCameraDeviceDownloadDelegateConfig holds optional typed callbacks for ICCameraDeviceDownloadDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type ICCameraDeviceDownloadDelegateObject

type ICCameraDeviceDownloadDelegateObject struct {
	objectivec.Object
}

ICCameraDeviceDownloadDelegateObject wraps an existing Objective-C object that conforms to the ICCameraDeviceDownloadDelegate protocol.

func ICCameraDeviceDownloadDelegateObjectFromID

func ICCameraDeviceDownloadDelegateObjectFromID(id objc.ID) ICCameraDeviceDownloadDelegateObject

ICCameraDeviceDownloadDelegateObjectFromID constructs a ICCameraDeviceDownloadDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewICCameraDeviceDownloadDelegate

func NewICCameraDeviceDownloadDelegate(config ICCameraDeviceDownloadDelegateConfig) ICCameraDeviceDownloadDelegateObject

NewICCameraDeviceDownloadDelegate creates an Objective-C object implementing the ICCameraDeviceDownloadDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned ICCameraDeviceDownloadDelegateObject satisfies the ICCameraDeviceDownloadDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (ICCameraDeviceDownloadDelegateObject) BaseObject

func (ICCameraDeviceDownloadDelegateObject) DidDownloadFileErrorOptionsContextInfo

func (o ICCameraDeviceDownloadDelegateObject) DidDownloadFileErrorOptionsContextInfo(file IICCameraFile, error_ foundation.NSError, options foundation.INSDictionary, contextInfo uintptr)

Tells the delegate that the requested download has completed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDownloadDelegate/didDownloadFile(_:error:options:contextInfo:)

func (ICCameraDeviceDownloadDelegateObject) DidReceiveDownloadProgressForFileDownloadedBytesMaxBytes

func (o ICCameraDeviceDownloadDelegateObject) DidReceiveDownloadProgressForFileDownloadedBytesMaxBytes(file IICCameraFile, downloadedBytes int64, maxBytes int64)

Updates the delegate about the status of the download.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDeviceDownloadDelegate/didReceiveDownloadProgress(for:downloadedBytes:maxBytes:)

type ICCameraFile

type ICCameraFile struct {
	ICCameraItem
}

An object that represents a file on a camera.

Requesting Thumbnails

Requesting Downloads

Requesting Data

Inspecting a File’s Name

Inspecting a File’s Identity

Determining When a File Was Created or Modified

Inspecting a File’s Size

Inspecting a File’s Dimensions

Inspecting a File’s EXIF Data

Identifying a File’s Location

Inspecting a File in a Burst

Inspecting Video Properties

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile

func ICCameraFileFromID

func ICCameraFileFromID(id objc.ID) ICCameraFile

ICCameraFileFromID constructs a ICCameraFile from an objc.ID.

An object that represents a file on a camera.

func NewICCameraFile

func NewICCameraFile() ICCameraFile

NewICCameraFile creates a new ICCameraFile instance.

func (ICCameraFile) Autorelease

func (c ICCameraFile) Autorelease() ICCameraFile

Autorelease adds the receiver to the current autorelease pool.

func (ICCameraFile) BurstFavorite

func (c ICCameraFile) BurstFavorite() bool

A Boolean value that indicates this file is the burst favorite in a burst.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/burstFavorite

func (ICCameraFile) BurstPicked

func (c ICCameraFile) BurstPicked() bool

A Boolean value that indicates whether this file is user picked in a burst.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/burstPicked

func (ICCameraFile) BurstUUID

func (c ICCameraFile) BurstUUID() string

The burst UUID of the file if it is in a burst.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/burstUUID

func (ICCameraFile) CreatedFilename

func (c ICCameraFile) CreatedFilename() string

The created name of the file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/createdFilename

func (ICCameraFile) Duration

func (c ICCameraFile) Duration() float64

The duration, in seconds, of an audio or video file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/duration

func (ICCameraFile) ExifCreationDate

func (c ICCameraFile) ExifCreationDate() foundation.NSDate

The [EXIF] creation date of the file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/exifCreationDate

func (ICCameraFile) ExifModificationDate

func (c ICCameraFile) ExifModificationDate() foundation.NSDate

The [EXIF] modification date of the file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/exifModificationDate

func (ICCameraFile) FileCreationDate

func (c ICCameraFile) FileCreationDate() foundation.NSDate

The creation date of the file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/fileCreationDate

func (ICCameraFile) FileModificationDate

func (c ICCameraFile) FileModificationDate() foundation.NSDate

The modification date of the file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/fileModificationDate

func (ICCameraFile) FileSize

func (c ICCameraFile) FileSize() int64

The size of the file, in bytes.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/fileSize

func (ICCameraFile) FirstPicked

func (c ICCameraFile) FirstPicked() bool

A Boolean value that indicates whether a file is autopicked by Photos to represent the burst.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/firstPicked

func (ICCameraFile) GpsString

func (c ICCameraFile) GpsString() string

The GPS String of the file in standard format.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/gpsString

func (ICCameraFile) GroupUUID

func (c ICCameraFile) GroupUUID() string

The group [UUID] of the file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/groupUUID

func (ICCameraFile) Height

func (c ICCameraFile) Height() int

The height of an image or movie frame.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/height

func (ICCameraFile) HighFramerate

func (c ICCameraFile) HighFramerate() bool

A Boolean value that indicates whether the file is a slow motion or high-frame-rate video file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/highFramerate

func (ICCameraFile) Init

func (c ICCameraFile) Init() ICCameraFile

Init initializes the instance.

func (ICCameraFile) Orientation

func (c ICCameraFile) Orientation() ICEXIFOrientationType

The orientation to use when downloading the image.

Discussion

This property is initially set to ICEXIFOrientationType.orientation1 If the format of the file supports the [EXIF] orientation tag, then this property updates to match the value of that tag on receipt of the thumbnail or metadata for this file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/orientation

func (ICCameraFile) OriginalFilename

func (c ICCameraFile) OriginalFilename() string

The original name of the file on disk.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/originalFilename

func (ICCameraFile) OriginatingAssetID

func (c ICCameraFile) OriginatingAssetID() string

The originating asset ID of an [HEIF] or [HVEC] file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/originatingAssetID

func (ICCameraFile) PairedRawImage

func (c ICCameraFile) PairedRawImage() IICCameraFile

A sidecar file containing the logical [RAW] compliment of a [JPG] or other two-format image.

Discussion

This value contains a single-item subset of the ICCameraFile.SidecarFiles array.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/pairedRawImage

func (ICCameraFile) RelatedUUID

func (c ICCameraFile) RelatedUUID() string

A related UUID correlating several images from an Apple device.

Discussion

This value is the same for both the image and video of a LivePhoto.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/relatedUUID

func (ICCameraFile) RequestDownloadWithOptionsCompletion

func (c ICCameraFile) RequestDownloadWithOptionsCompletion(options foundation.INSDictionary, completion StringErrorHandler) foundation.Progress

Requests a download and executes the completion block in place of the delegate.

Discussion

The completion block executes on an any available queue; often this is not the main queue.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/requestDownload(options:completion:)

func (ICCameraFile) RequestDownloadWithOptionsCompletionSync

func (c ICCameraFile) RequestDownloadWithOptionsCompletionSync(ctx context.Context, options foundation.INSDictionary) (*string, error)

RequestDownloadWithOptionsCompletionSync is a synchronous wrapper around ICCameraFile.RequestDownloadWithOptionsCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICCameraFile) RequestFingerprint

func (c ICCameraFile) RequestFingerprint(ctx context.Context) (*string, error)

RequestFingerprint is a synchronous wrapper around ICCameraFile.RequestFingerprintWithCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICCameraFile) RequestReadDataAtOffsetLengthCompletion

func (c ICCameraFile) RequestReadDataAtOffsetLengthCompletion(offset int64, length int64, completion DataErrorHandler)

Requests to asynchronously read data of a specified length from a specified offset, then executes the completion block.

Discussion

The completion block executes on an any available queue; often this is not the main queue.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/requestReadData(atOffset:length:completion:)

func (ICCameraFile) RequestReadDataAtOffsetLengthCompletionSync

func (c ICCameraFile) RequestReadDataAtOffsetLengthCompletionSync(ctx context.Context, offset int64, length int64) (*foundation.NSData, error)

RequestReadDataAtOffsetLengthCompletionSync is a synchronous wrapper around ICCameraFile.RequestReadDataAtOffsetLengthCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICCameraFile) RequestSecurityScopedURL

func (c ICCameraFile) RequestSecurityScopedURL(ctx context.Context) (*foundation.NSURL, error)

RequestSecurityScopedURL is a synchronous wrapper around ICCameraFile.RequestSecurityScopedURLWithCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICCameraFile) RequestThumbnailDataWithOptionsCompletion

func (c ICCameraFile) RequestThumbnailDataWithOptionsCompletion(options foundation.INSDictionary, completion DataErrorHandler)

Requests a thumbnail and executes the completion block in place of the delegate.

Discussion

The completion block executes on an any available queue; often this is not the main queue.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/requestThumbnailData(options:completion:)

func (ICCameraFile) RequestThumbnailDataWithOptionsCompletionSync

func (c ICCameraFile) RequestThumbnailDataWithOptionsCompletionSync(ctx context.Context, options foundation.INSDictionary) (*foundation.NSData, error)

RequestThumbnailDataWithOptionsCompletionSync is a synchronous wrapper around ICCameraFile.RequestThumbnailDataWithOptionsCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICCameraFile) SetOrientation

func (c ICCameraFile) SetOrientation(value ICEXIFOrientationType)

func (ICCameraFile) SidecarFiles

func (c ICCameraFile) SidecarFiles() []ICCameraItem

An array of two camera files associated with this file.

Discussion

An example of a sidecar file is a file with the same base 3 name as this file and an [XMP] extension.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/sidecarFiles

func (ICCameraFile) TimeLapse

func (c ICCameraFile) TimeLapse() bool

A Boolean value that indicates whether the file is a time-lapse video file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/timeLapse

func (ICCameraFile) Width

func (c ICCameraFile) Width() int

The width of an image or movie frame.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile/width

type ICCameraFileClass

type ICCameraFileClass struct {
	// contains filtered or unexported fields
}

func GetICCameraFileClass

func GetICCameraFileClass() ICCameraFileClass

GetICCameraFileClass returns the class object for ICCameraFile.

func (ICCameraFileClass) Alloc

func (ic ICCameraFileClass) Alloc() ICCameraFile

Alloc allocates memory for a new instance of the class.

func (ICCameraFileClass) Class

func (ic ICCameraFileClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICCameraFolder

type ICCameraFolder struct {
	ICCameraItem
}

An object that represents a folder on a camera.

Inspecting a Folder’s Contents

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFolder

func ICCameraFolderFromID

func ICCameraFolderFromID(id objc.ID) ICCameraFolder

ICCameraFolderFromID constructs a ICCameraFolder from an objc.ID.

An object that represents a folder on a camera.

func NewICCameraFolder

func NewICCameraFolder() ICCameraFolder

NewICCameraFolder creates a new ICCameraFolder instance.

func (ICCameraFolder) Autorelease

func (c ICCameraFolder) Autorelease() ICCameraFolder

Autorelease adds the receiver to the current autorelease pool.

func (ICCameraFolder) Contents

func (c ICCameraFolder) Contents() []ICCameraItem

A list of items that this folder contains.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFolder/contents

func (ICCameraFolder) Init

func (c ICCameraFolder) Init() ICCameraFolder

Init initializes the instance.

type ICCameraFolderClass

type ICCameraFolderClass struct {
	// contains filtered or unexported fields
}

func GetICCameraFolderClass

func GetICCameraFolderClass() ICCameraFolderClass

GetICCameraFolderClass returns the class object for ICCameraFolder.

func (ICCameraFolderClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICCameraFolderClass) Class

func (ic ICCameraFolderClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICCameraItem

type ICCameraItem struct {
	objectivec.Object
}

An abstract class that represents a camera item.

Overview

The ImageCaptureCore framework defines two concrete subclasses of camera items: ICCameraFolder and ICCameraFile.

Inspecting an Item’s Name and Type

Determining an Item’s Change Dates

Locating an Item

Requesting Metadata

Requesting Thumbnails

Accessing a Protected Item

  • ICCameraItem.IsLocked: A Boolean value that indicates whether the storage card in the camera is locked.

Storing Information

  • ICCameraItem.UserData: A mutable dictionary to store arbitrary key-value pairs associated with a camera item.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem

func ICCameraItemFromID

func ICCameraItemFromID(id objc.ID) ICCameraItem

ICCameraItemFromID constructs a ICCameraItem from an objc.ID.

An abstract class that represents a camera item.

func NewICCameraItem

func NewICCameraItem() ICCameraItem

NewICCameraItem creates a new ICCameraItem instance.

func (ICCameraItem) AddedAfterContentCatalogCompleted

func (c ICCameraItem) AddedAfterContentCatalogCompleted() bool

A Boolean value indicating whether the item was captured on the camera after the camera’s content had been fully enumerated.

Discussion

This value does not apply to files added as a result of adding a new store to the camera.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/wasAddedAfterContentCatalogCompleted

func (ICCameraItem) Autorelease

func (c ICCameraItem) Autorelease() ICCameraItem

Autorelease adds the receiver to the current autorelease pool.

func (ICCameraItem) CreationDate

func (c ICCameraItem) CreationDate() foundation.NSDate

The item’s creation date, usually the same as its [EXIF] creation date.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/creationDate

func (ICCameraItem) Device

func (c ICCameraItem) Device() IICCameraDevice

The item’s parent device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/device

func (ICCameraItem) FileSystemPath

func (c ICCameraItem) FileSystemPath() string

The item’s file system path on a camera using the mass storage transport type.

Discussion

This property is set for cameras whose ICDevice.TransportType is transportTypeMassStorage.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/fileSystemPath

func (ICCameraItem) FlushMetadataCache

func (c ICCameraItem) FlushMetadataCache()

Deletes the item’s cached metadata.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/flushMetadataCache()

func (ICCameraItem) FlushThumbnailCache

func (c ICCameraItem) FlushThumbnailCache()

Deletes the item’s cached thumbnail.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/flushThumbnailCache()

func (ICCameraItem) Init

func (c ICCameraItem) Init() ICCameraItem

Init initializes the instance.

func (ICCameraItem) IsInTemporaryStore

func (c ICCameraItem) IsInTemporaryStore() bool

A Boolean value that indicates whether this item is in a temporary store.

Discussion

A device may use a temporary store when it captures images while tethered to a computer.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/isInTemporaryStore

func (ICCameraItem) IsLocked

func (c ICCameraItem) IsLocked() bool

A Boolean value that indicates whether the storage card in the camera is locked.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/isLocked

func (ICCameraItem) IsRaw

func (c ICCameraItem) IsRaw() bool

A Boolean value indicating whether the item is a raw image file.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/isRaw

func (ICCameraItem) Metadata

func (c ICCameraItem) Metadata() foundation.INSDictionary

The item’s metadata.

Discussion

The value of this property is `nil` unless a ICCameraItem.RequestMetadata message is sent to this object.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/metadata

func (ICCameraItem) ModificationDate

func (c ICCameraItem) ModificationDate() foundation.NSDate

The item’s modification date, usually the same as its [EXIF] modification date.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/modificationDate

func (ICCameraItem) ParentFolder

func (c ICCameraItem) ParentFolder() IICCameraFolder

This item’s parent folder.

Discussion

The value of this property on the root folder is nil.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/parentFolder

func (ICCameraItem) PtpObjectHandle

func (c ICCameraItem) PtpObjectHandle() uint32

The item’s [PTP] object handle value, if the camera uses the [PTP] protocol.

Discussion

The value of this property is set to `0` if the camera does not use PTP protocol.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/ptpObjectHandle

func (ICCameraItem) RequestMetadata

func (c ICCameraItem) RequestMetadata()

Requests metadata for the item.

Discussion

If metadata for the item is not readily available, accessing this property requests metadata from the camera, then notifies the delegate by calling [CameraDeviceDidReceiveMetadataForItemError].

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/requestMetadata()

func (ICCameraItem) RequestThumbnail

func (c ICCameraItem) RequestThumbnail()

Requests a thumbnail for the item.

Discussion

If a thumbnail is not readily available, accessing this property will send a message to the device requesting a thumbnail for the file. The delegate of the device will be notified via method [CameraDeviceDidReceiveThumbnailForItemError], if this method is implemented by the delegate. Execution of the delegate callback will occur on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/requestThumbnail()

func (ICCameraItem) Thumbnail

func (c ICCameraItem) Thumbnail() coregraphics.CGImageRef

The item’s thumbnail.

Discussion

The value of this property is `nil` until you call ICCameraItem.RequestThumbnail.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/thumbnail

func (ICCameraItem) UTI

func (c ICCameraItem) UTI() string

The item’s uniform type identifier (UTI) string.

Discussion

The [UTI] options are `kUTTypeFolder`, `kUTTypeImage`, `kUTTypeMovie`, `kUTTypeAudio`, or `kUTTypeData`.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/uti

func (ICCameraItem) UserData

func (c ICCameraItem) UserData() foundation.INSDictionary

A mutable dictionary to store arbitrary key-value pairs associated with a camera item.

Discussion

View objects can bind to this object to store “house-keeping” information.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem/userData

type ICCameraItemClass

type ICCameraItemClass struct {
	// contains filtered or unexported fields
}

func GetICCameraItemClass

func GetICCameraItemClass() ICCameraItemClass

GetICCameraItemClass returns the class object for ICCameraItem.

func (ICCameraItemClass) Alloc

func (ic ICCameraItemClass) Alloc() ICCameraItem

Alloc allocates memory for a new instance of the class.

func (ICCameraItemClass) Class

func (ic ICCameraItemClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICCameraItemMetadataOption

type ICCameraItemMetadataOption = string

ICCameraItemMetadataOption is an option for the item’s metadata.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItemMetadataOption

type ICDeleteError

type ICDeleteError = string

ICDeleteError is an error resulting from a deletion request.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeleteError

type ICDeleteResult

type ICDeleteResult = string

ICDeleteResult is the result of a deletion request.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeleteResult

var (
	// ICDeleteCanceled is the deletion was canceled.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeleteResult/canceled
	ICDeleteCanceled ICDeleteResult
	// ICDeleteFailed is the deletion failed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeleteResult/failed
	ICDeleteFailed ICDeleteResult
	// ICDeleteSuccessful is the deletion succeeded.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeleteResult/successful
	ICDeleteSuccessful ICDeleteResult
)

type ICDevice

type ICDevice struct {
	objectivec.Object
}

An abstract object that represents a device.

Overview

The device browser uses the concrete subclasses ICCameraDevice and ICScannerDevice to represent the cameras and scanners it finds.

Identifying a Device

Inspecting a Device’s Type and Location

Inspecting a Device’s Transport Type

Inspecting a Device’s Capabilities

Managing a Device

Configuring a Device’s Characteristics

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice

func ICDeviceFromID

func ICDeviceFromID(id objc.ID) ICDevice

ICDeviceFromID constructs a ICDevice from an objc.ID.

An abstract object that represents a device.

func NewICDevice

func NewICDevice() ICDevice

NewICDevice creates a new ICDevice instance.

func (ICDevice) AutolaunchApplicationPath

func (d ICDevice) AutolaunchApplicationPath() string

The file system path of an application to launch automatically when this device is added.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/autolaunchApplicationPath

func (ICDevice) Autorelease

func (d ICDevice) Autorelease() ICDevice

Autorelease adds the receiver to the current autorelease pool.

func (ICDevice) Capabilities

func (d ICDevice) Capabilities() []string

The capabilities of the device as reported by the device module.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/capabilities

func (ICDevice) Delegate

func (d ICDevice) Delegate() ICDeviceDelegate

The delegate to receive messages once a session is opened on the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/delegate

func (ICDevice) HasOpenSession

func (d ICDevice) HasOpenSession() bool

A Boolean value that indicates whether the device has an open session.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/hasOpenSession

func (ICDevice) Init

func (d ICDevice) Init() ICDevice

Init initializes the instance.

func (ICDevice) IsRemote

func (d ICDevice) IsRemote() bool

A Boolean value indicating whether the device is published by the Image Capture device-sharing facility.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/isRemote

func (ICDevice) LocationDescription

func (d ICDevice) LocationDescription() string

A nonlocalized location description for the device.

Discussion

This property returns either the description of an ICDeviceLocationType, or a description obtained from the Bonjour [TXT] record of a network device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/locationDescription

func (ICDevice) ModulePath

func (d ICDevice) ModulePath() string

The file system path of the device module associated with this device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/modulePath

func (ICDevice) ModuleVersion

func (d ICDevice) ModuleVersion() string

The bundle version of the device module associated with this device.

Discussion

The bundle version may change if an existing device module associated with this device is updated or a new device module for this device is installed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/moduleVersion

func (ICDevice) Name

func (d ICDevice) Name() string

The device’s name as reported by the device module, or if no device module is in control of this device, by the device transport.

Discussion

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/name

func (ICDevice) PersistentIDString

func (d ICDevice) PersistentIDString() string

A string representation of the device’s persistent ID.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/persistentIDString

func (ICDevice) ProductKind

func (d ICDevice) ProductKind() string

The device’s type.

Discussion

Possible values are `"iPhone"`, `"iPod"`, and `"Camera"`.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/productKind

func (ICDevice) RequestCloseSession

func (d ICDevice) RequestCloseSession()

Requests to close an open session on the device.

Discussion

Once the request to close the session has completed, [DeviceDidCloseSessionWithError] is called on the delegate.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestCloseSession()

func (ICDevice) RequestCloseSessionWithOptionsCompletion

func (d ICDevice) RequestCloseSessionWithOptionsCompletion(options foundation.INSDictionary, completion ErrorHandler)

Requests to close an open session on the device, then executes the completion handler.

Discussion

Execution of the completion block occurs on the calling thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestCloseSession(options:completion:)

func (ICDevice) RequestCloseSessionWithOptionsCompletionSync

func (d ICDevice) RequestCloseSessionWithOptionsCompletionSync(ctx context.Context, options foundation.INSDictionary) error

RequestCloseSessionWithOptionsCompletionSync is a synchronous wrapper around ICDevice.RequestCloseSessionWithOptionsCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICDevice) RequestEject

func (d ICDevice) RequestEject()

Requests to eject the media if permitted by the device, or to disconnect from a remote device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestEject()

func (ICDevice) RequestEjectSync

func (d ICDevice) RequestEjectSync(ctx context.Context) error

RequestEjectSync is a synchronous wrapper around ICDevice.RequestEjectWithCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICDevice) RequestEjectWithCompletion

func (d ICDevice) RequestEjectWithCompletion(completion ErrorHandler)

Requests to eject the media if permitted by the device, or to disconnect from a remote device, then executes the completion handler.

Discussion

Execution of the completion block occurs on the calling thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestEject(completion:)

func (ICDevice) RequestOpenSession

func (d ICDevice) RequestOpenSession()

Requests to open a session on the device.

Discussion

Set the receiver’s delegate before calling this method; otherwise, the request is ignored.

Once the request to open the session has completed, [DeviceDidOpenSessionWithError] is called on the delegate.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestOpenSession()

func (ICDevice) RequestOpenSessionWithOptionsCompletion

func (d ICDevice) RequestOpenSessionWithOptionsCompletion(options foundation.INSDictionary, completion ErrorHandler)

Requests to open a session on the device, then executes the completion handler.

Discussion

Execution of the completion block occurs on the calling thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestOpenSession(options:completion:)

func (ICDevice) RequestOpenSessionWithOptionsCompletionSync

func (d ICDevice) RequestOpenSessionWithOptionsCompletionSync(ctx context.Context, options foundation.INSDictionary) error

RequestOpenSessionWithOptionsCompletionSync is a synchronous wrapper around ICDevice.RequestOpenSessionWithOptionsCompletion. It blocks until the completion handler fires or the context is cancelled.

func (ICDevice) RequestSendMessageOutDataMaxReturnedDataSizeSendMessageDelegateDidSendMessageSelectorContextInfo

func (d ICDevice) RequestSendMessageOutDataMaxReturnedDataSizeSendMessageDelegateDidSendMessageSelectorContextInfo(messageCode uint32, data foundation.NSData, maxReturnedDataSize uint32, sendMessageDelegate objectivec.IObject, selector objc.SEL, contextInfo uintptr)

Asynchronously sends an arbitrary message with optional data to a device.

Discussion

Use this method to send a private message from a client application to a device module.

The `sendMessageDelegate` must implement a function with the signature `(void)(UInt32)messageCode (NSData*)data (NSError*)error (void*)contextInfo`, to be called when the request is completed.

Do not use this method to send PTP pass-through commands to a PTP camera. Use ICCameraDevice.RequestSendPTPCommandOutDataSendCommandDelegateDidSendCommandSelectorContextInfo instead.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/requestSendMessage(_:outData:maxReturnedDataSize:sendMessageDelegate:didSendMessageSelector:contextInfo:)

func (ICDevice) SerialNumberString

func (d ICDevice) SerialNumberString() string

The device’s serial number.

Discussion

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/serialNumberString

func (ICDevice) SetAutolaunchApplicationPath

func (d ICDevice) SetAutolaunchApplicationPath(value string)

func (ICDevice) SetDelegate

func (d ICDevice) SetDelegate(value ICDeviceDelegate)

func (ICDevice) TransportType

func (d ICDevice) TransportType() string

The hardware connection type the device is using.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/transportType

func (ICDevice) Type

func (d ICDevice) Type() ICDeviceType

A combination of the device’s type and its location type.

Discussion

This property combines the device’s type, for example ICDeviceType.camera, with its location type, for example ICDeviceLocationType.bluetooth.

To isolate the device’s type, perform bitwise [AND] on this property with an ICDeviceTypeMask.

To isolate the device’s location type, perform bitwise [AND] on this property with an ICDeviceLocationTypeMask.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/type

func (ICDevice) UUIDString

func (d ICDevice) UUIDString() string

A string representation of the device’s universally unique identifier (UUID).

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/uuidString

func (ICDevice) UsbLocationID

func (d ICDevice) UsbLocationID() int32

The USB location that the device is occupying.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/usbLocationID

func (ICDevice) UsbProductID

func (d ICDevice) UsbProductID() int32

The USB Product ID (PID) associated with the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/usbProductID

func (ICDevice) UsbVendorID

func (d ICDevice) UsbVendorID() int32

The USB Vendor ID (VID) associated with the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/usbVendorID

func (ICDevice) UserData

func (d ICDevice) UserData() foundation.INSDictionary

A bookkeeping object for client convenience.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice/userData

type ICDeviceBrowser

type ICDeviceBrowser struct {
	objectivec.Object
}

An object for finding digital cameras and scanners.

Managing Device Browsing

Browsing Devices

Setting a Preferred Device

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser

func ICDeviceBrowserFromID

func ICDeviceBrowserFromID(id objc.ID) ICDeviceBrowser

ICDeviceBrowserFromID constructs a ICDeviceBrowser from an objc.ID.

An object for finding digital cameras and scanners.

func NewICDeviceBrowser

func NewICDeviceBrowser() ICDeviceBrowser

NewICDeviceBrowser creates a new ICDeviceBrowser instance.

func (ICDeviceBrowser) Autorelease

func (d ICDeviceBrowser) Autorelease() ICDeviceBrowser

Autorelease adds the receiver to the current autorelease pool.

func (ICDeviceBrowser) BrowsedDeviceTypeMask

func (d ICDeviceBrowser) BrowsedDeviceTypeMask() ICDeviceTypeMask

A mask whose set bits indicate the type of devices being browsed after the delegate receives the start message.

Discussion

Construct this property by performing bitwise OR on values of ICDeviceTypeMask with values of ICDeviceLocationTypeMask. You can change this property while the browser is looking for devices.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/browsedDeviceTypeMask

func (ICDeviceBrowser) Delegate

The object that acts as the delegate of the device browser.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/delegate

func (ICDeviceBrowser) Devices

func (d ICDeviceBrowser) Devices() []ICDevice

All devices found by the browser.

Discussion

This array is empty before the first invocation of the delegate method [DeviceBrowserDidAddDeviceMoreComing]. The value of this property changes as devices appear and disappear.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/devices

func (ICDeviceBrowser) Init

Init initializes the instance.

func (ICDeviceBrowser) IsBrowsing

func (d ICDeviceBrowser) IsBrowsing() bool

A Boolean value indicating whether the device browser is browsing for devices.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/isBrowsing

func (ICDeviceBrowser) PreferredDevice

func (d ICDeviceBrowser) PreferredDevice() IICDevice

Returns a device object that the client application should select when it launches.

Discussion

If the client application that calls this method is the autolaunch application associated with a device, and that device is the last one attached (through USB, FireWire, or network), then that device is the preferred device.

Call this method in the implementation of [DeviceBrowserDidAddDeviceMoreComing] if the value of `moreComing` is `false`; or in the implementation of [DeviceBrowserDidEnumerateLocalDevices].

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/preferredDevice

func (ICDeviceBrowser) SetBrowsedDeviceTypeMask

func (d ICDeviceBrowser) SetBrowsedDeviceTypeMask(value ICDeviceTypeMask)

func (ICDeviceBrowser) SetDelegate

func (d ICDeviceBrowser) SetDelegate(value ICDeviceBrowserDelegate)

func (ICDeviceBrowser) Start

func (d ICDeviceBrowser) Start()

Tells the delegate to start looking for devices.

Discussion

Set the ICDeviceBrowser.Delegate before calling this method; otherwise, the method call is ignored.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/start()

func (ICDeviceBrowser) Stop

func (d ICDeviceBrowser) Stop()

Tells the delegate to stop looking for devices.

Discussion

Calling this method frees all device instances that are not in use.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser/stop()

type ICDeviceBrowserClass

type ICDeviceBrowserClass struct {
	// contains filtered or unexported fields
}

func GetICDeviceBrowserClass

func GetICDeviceBrowserClass() ICDeviceBrowserClass

GetICDeviceBrowserClass returns the class object for ICDeviceBrowser.

func (ICDeviceBrowserClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICDeviceBrowserClass) Class

func (ic ICDeviceBrowserClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICDeviceBrowserDelegate

type ICDeviceBrowserDelegate interface {
	objectivec.IObject

	// Tells the delegate that a device has been added.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:didAdd:moreComing:)
	DeviceBrowserDidAddDeviceMoreComing(browser IICDeviceBrowser, device IICDevice, moreComing bool)

	// Tells the delegate that a device has been removed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:didRemove:moreGoing:)
	DeviceBrowserDidRemoveDeviceMoreGoing(browser IICDeviceBrowser, device IICDevice, moreGoing bool)
}

Methods for managing the addition and removal of devices and responding to device changes.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate

type ICDeviceBrowserDelegateConfig

type ICDeviceBrowserDelegateConfig struct {

	// Adding and Removing Devices
	// DeviceBrowserDidEnumerateLocalDevices — Tells the delegate that the device browser has completed sending [deviceBrowser(_:didAdd:moreComing:)](<https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:didAdd:moreComing:)>) for all local devices.
	DeviceBrowserDidEnumerateLocalDevices func(browser ICDeviceBrowser)

	// Responding to Device Changes
	// DeviceBrowserDeviceDidChangeName — Tells the delegate when the name of a device changes.
	DeviceBrowserDeviceDidChangeName func(browser ICDeviceBrowser, device ICDevice)

	// Other Methods
	// DeviceBrowserDidAddDeviceMoreComing — Tells the delegate that a device has been added.
	DeviceBrowserDidAddDeviceMoreComing func(browser ICDeviceBrowser, device ICDevice, moreComing bool)
	// DeviceBrowserDidRemoveDeviceMoreGoing — Tells the delegate that a device has been removed.
	DeviceBrowserDidRemoveDeviceMoreGoing func(browser ICDeviceBrowser, device ICDevice, moreGoing bool)
	// DeviceBrowserRequestsSelectDevice — Tells the delegate when an event occurs on the device that may be of interest to the client application.
	DeviceBrowserRequestsSelectDevice func(browser ICDeviceBrowser, device ICDevice)
}

ICDeviceBrowserDelegateConfig holds optional typed callbacks for ICDeviceBrowserDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type ICDeviceBrowserDelegateObject

type ICDeviceBrowserDelegateObject struct {
	objectivec.Object
}

ICDeviceBrowserDelegateObject wraps an existing Objective-C object that conforms to the ICDeviceBrowserDelegate protocol.

func ICDeviceBrowserDelegateObjectFromID

func ICDeviceBrowserDelegateObjectFromID(id objc.ID) ICDeviceBrowserDelegateObject

ICDeviceBrowserDelegateObjectFromID constructs a ICDeviceBrowserDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewICDeviceBrowserDelegate

func NewICDeviceBrowserDelegate(config ICDeviceBrowserDelegateConfig) ICDeviceBrowserDelegateObject

NewICDeviceBrowserDelegate creates an Objective-C object implementing the ICDeviceBrowserDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned ICDeviceBrowserDelegateObject satisfies the ICDeviceBrowserDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (ICDeviceBrowserDelegateObject) BaseObject

func (ICDeviceBrowserDelegateObject) DeviceBrowserDeviceDidChangeName

func (o ICDeviceBrowserDelegateObject) DeviceBrowserDeviceDidChangeName(browser IICDeviceBrowser, device IICDevice)

Tells the delegate when the name of a device changes.

Discussion

A device’s name may change if a device module overrides the default name reported by the device’s transport layer, or if a user changes the name of the file system volume mounted by the device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:deviceDidChangeName:)

func (ICDeviceBrowserDelegateObject) DeviceBrowserDidAddDeviceMoreComing

func (o ICDeviceBrowserDelegateObject) DeviceBrowserDidAddDeviceMoreComing(browser IICDeviceBrowser, device IICDevice, moreComing bool)

Tells the delegate that a device has been added.

Discussion

If several devices are found during the initial search, then this message is sent once for each device with the value of `moreComing` set to `true` in each message except the last one.

Not all devices are reported using this method. Devices that fail to communicate successfully are silently ignored.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:didAdd:moreComing:)

func (ICDeviceBrowserDelegateObject) DeviceBrowserDidEnumerateLocalDevices

func (o ICDeviceBrowserDelegateObject) DeviceBrowserDidEnumerateLocalDevices(browser IICDeviceBrowser)

Tells the delegate that the device browser has completed sending [DeviceBrowserDidAddDeviceMoreComing] for all local devices.

Discussion

Detecting locally connected devices (USB and FireWire devices) is faster than detecting devices connected using a network protocol. An Image Capture client application may use this message to update its user interface to let the user know that it has completed looking for locally connected devices and then started looking for network devices.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowserDidEnumerateLocalDevices(_:)

func (ICDeviceBrowserDelegateObject) DeviceBrowserDidRemoveDeviceMoreGoing

func (o ICDeviceBrowserDelegateObject) DeviceBrowserDidRemoveDeviceMoreGoing(browser IICDeviceBrowser, device IICDevice, moreGoing bool)

Tells the delegate that a device has been removed.

Discussion

If several devices are removed at the same time, then this message is sent once for each device with the value of `moreGoing` set to `true` in each message except the last one.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:didRemove:moreGoing:)

func (ICDeviceBrowserDelegateObject) DeviceBrowserRequestsSelectDevice

func (o ICDeviceBrowserDelegateObject) DeviceBrowserRequestsSelectDevice(browser IICDeviceBrowser, device IICDevice)

Tells the delegate when an event occurs on the device that may be of interest to the client application.

Discussion

This message is sent when a button is pressed on a device and the current application is the target for that button press. When this happens, if a session is open on the device, this message is not sent to the browser delegate; instead the message `device(_:)` is sent to the device delegate.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowserDelegate/deviceBrowser(_:requestsSelect:)

type ICDeviceCapability

type ICDeviceCapability = string

ICDeviceCapability is constants that describe the capabilities of a camera.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability

var (
	// ICCameraDeviceCanAcceptPTPCommands is indicates that the camera can accept PTP commands.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanAcceptPTPCommands
	ICCameraDeviceCanAcceptPTPCommands ICDeviceCapability
	// ICCameraDeviceCanDeleteAllFiles is indicates that the camera can delete all files in a single operation while it is connected.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanDeleteAllFiles
	ICCameraDeviceCanDeleteAllFiles ICDeviceCapability
	// ICCameraDeviceCanDeleteOneFile is indicates that the camera can delete a file at a time while it is connected.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanDeleteOneFile
	ICCameraDeviceCanDeleteOneFile ICDeviceCapability
	// ICCameraDeviceCanReceiveFile is indicates that the host can upload files to the camera.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanReceiveFile
	ICCameraDeviceCanReceiveFile ICDeviceCapability
	// ICCameraDeviceCanSyncClock is indicates that the camera can synchronize its date and time with that of the host computer.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanSyncClock
	ICCameraDeviceCanSyncClock ICDeviceCapability
	// ICCameraDeviceCanTakePicture is the capability for the client to request to take a picture while the camera is connected.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanTakePicture
	ICCameraDeviceCanTakePicture ICDeviceCapability
	// ICCameraDeviceCanTakePictureUsingShutterReleaseOnCamera is the capability to capture a picture if the user presses the shutter release on the camera while the camera is connected.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceCanTakePictureUsingShutterReleaseOnCamera
	ICCameraDeviceCanTakePictureUsingShutterReleaseOnCamera ICDeviceCapability
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/cameraDeviceSupportsHEIF
	ICCameraDeviceSupportsHEIF ICDeviceCapability
	// ICDeviceCanEjectOrDisconnect is indicates that the camera can eject or disconnect.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceCapability/canEjectOrDisconnect
	ICDeviceCanEjectOrDisconnect ICDeviceCapability
)

type ICDeviceClass

type ICDeviceClass struct {
	// contains filtered or unexported fields
}

func GetICDeviceClass

func GetICDeviceClass() ICDeviceClass

GetICDeviceClass returns the class object for ICDevice.

func (ICDeviceClass) Alloc

func (ic ICDeviceClass) Alloc() ICDevice

Alloc allocates memory for a new instance of the class.

func (ICDeviceClass) Class

func (ic ICDeviceClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICDeviceDelegate

type ICDeviceDelegate interface {
	objectivec.IObject

	// Tells the delegate when a session is opened on a device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didOpenSessionWithError:)
	DeviceDidOpenSessionWithError(device IICDevice, error_ foundation.NSError)

	// Tells the delegate when a session is closed on a device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didCloseSessionWithError:)
	DeviceDidCloseSessionWithError(device IICDevice, error_ foundation.NSError)

	// Tells the delegate that a device has been removed.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/didRemove(_:)
	DidRemoveDevice(device IICDevice)
}

Methods for responding to device events and changes.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate

type ICDeviceDelegateConfig

type ICDeviceDelegateConfig struct {

	// Responding to Device Events
	// DeviceDidOpenSessionWithError — Tells the delegate when a session is opened on a device.
	DeviceDidOpenSessionWithError func(device ICDevice, error_ foundation.NSError)
	// DeviceDidCloseSessionWithError — Tells the delegate when a session is closed on a device.
	DeviceDidCloseSessionWithError func(device ICDevice, error_ foundation.NSError)
	// DeviceDidBecomeReady — Tells the delegate when the device is ready to receive requests.
	DeviceDidBecomeReady func(device ICDevice)
	// DeviceDidReceiveStatusInformation — Tells the delegate when status information is received from a device.
	DeviceDidReceiveStatusInformation func(device ICDevice, status foundation.INSDictionary)
	// DeviceDidEncounterError — Tells the delegate when a device encounters an error.
	DeviceDidEncounterError func(device ICDevice, error_ foundation.NSError)
	// DeviceDidEjectWithError — Tells the delegate when the ejection is complete.
	DeviceDidEjectWithError func(device ICDevice, error_ foundation.NSError)

	// Responding to Device Changes
	// DeviceDidChangeName — Tells the delegate when the name of a device changes.
	DeviceDidChangeName func(device ICDevice)

	// Other Methods
	// DidRemoveDevice — Tells the delegate that a device has been removed.
	DidRemoveDevice func(device ICDevice)
}

ICDeviceDelegateConfig holds optional typed callbacks for ICDeviceDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type ICDeviceDelegateObject

type ICDeviceDelegateObject struct {
	objectivec.Object
}

ICDeviceDelegateObject wraps an existing Objective-C object that conforms to the ICDeviceDelegate protocol.

func ICDeviceDelegateObjectFromID

func ICDeviceDelegateObjectFromID(id objc.ID) ICDeviceDelegateObject

ICDeviceDelegateObjectFromID constructs a ICDeviceDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewICDeviceDelegate

func NewICDeviceDelegate(config ICDeviceDelegateConfig) ICDeviceDelegateObject

NewICDeviceDelegate creates an Objective-C object implementing the ICDeviceDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned ICDeviceDelegateObject satisfies the ICDeviceDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (ICDeviceDelegateObject) BaseObject

func (o ICDeviceDelegateObject) BaseObject() objectivec.Object

func (ICDeviceDelegateObject) DeviceDidBecomeReady

func (o ICDeviceDelegateObject) DeviceDidBecomeReady(device IICDevice)

Tells the delegate when the device is ready to receive requests.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/deviceDidBecomeReady(_:)

func (ICDeviceDelegateObject) DeviceDidChangeName

func (o ICDeviceDelegateObject) DeviceDidChangeName(device IICDevice)

Tells the delegate when the name of a device changes.

Discussion

This happens if the device module overrides the default name of the device reported by the device’s transport layer, or if the name of the filesystem volume mounted by the device is changed by the user.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/deviceDidChangeName(_:)

func (ICDeviceDelegateObject) DeviceDidCloseSessionWithError

func (o ICDeviceDelegateObject) DeviceDidCloseSessionWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a session is closed on a device.

Discussion

This message completes the process initiated by the message “requestCloseSession” sent to the device object. This message is also sent if the device module in control of the device ceases to control the device.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didCloseSessionWithError:)

func (ICDeviceDelegateObject) DeviceDidEjectWithError

func (o ICDeviceDelegateObject) DeviceDidEjectWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when the ejection is complete.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didEjectWithError:)

func (ICDeviceDelegateObject) DeviceDidEncounterError

func (o ICDeviceDelegateObject) DeviceDidEncounterError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a device encounters an error.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didEncounterError:)

func (ICDeviceDelegateObject) DeviceDidOpenSessionWithError

func (o ICDeviceDelegateObject) DeviceDidOpenSessionWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a session is opened on a device.

Discussion

This message completes the process initiated by the message “requestOpenSession” sent to the device object.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didOpenSessionWithError:)

func (ICDeviceDelegateObject) DeviceDidReceiveStatusInformation

func (o ICDeviceDelegateObject) DeviceDidReceiveStatusInformation(device IICDevice, status foundation.INSDictionary)

Tells the delegate when status information is received from a device.

Discussion

The ‘status’ dictionary contains two keys, ICStatusNotificationKey and ICLocalizedStatusNotificationKey, which are defined above. Status information keys are located in their respective ICDevice type class header.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didReceiveStatusInformation:)

func (ICDeviceDelegateObject) DidRemoveDevice

func (o ICDeviceDelegateObject) DidRemoveDevice(device IICDevice)

Tells the delegate that a device has been removed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/didRemove(_:)

type ICDeviceLocationOptions

type ICDeviceLocationOptions = string

ICDeviceLocationOptions is options for the location of the image capture device.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationOptions

var (
	// ICDeviceLocationDescriptionBluetooth is a paired Bluetooth device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationOptions/descriptionBluetooth
	ICDeviceLocationDescriptionBluetooth ICDeviceLocationOptions
	// ICDeviceLocationDescriptionFireWire is a device that’s directly attached to the Mac through its FireWire port.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationOptions/descriptionFireWire
	ICDeviceLocationDescriptionFireWire ICDeviceLocationOptions
	// ICDeviceLocationDescriptionMassStorage is a mass storage device.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationOptions/descriptionMassStorage
	ICDeviceLocationDescriptionMassStorage ICDeviceLocationOptions
	// ICDeviceLocationDescriptionUSB is a device that’s directly attached to the Mac through its USB port.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationOptions/descriptionUSB
	ICDeviceLocationDescriptionUSB ICDeviceLocationOptions
)

type ICDeviceLocationType

type ICDeviceLocationType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationType

const (
	// ICDeviceLocationTypeBluetooth: A paired Bluetooth device.
	ICDeviceLocationTypeBluetooth ICDeviceLocationType = 0x800
	// ICDeviceLocationTypeBonjour: A supported Bonjour services device.
	ICDeviceLocationTypeBonjour ICDeviceLocationType = 0x400
	// ICDeviceLocationTypeLocal: A device that’s directly attached to the Mac through its USB or FireWire port.
	ICDeviceLocationTypeLocal ICDeviceLocationType = 0x100
	// ICDeviceLocationTypeShared: A device that’s shared by other Mac hosts.
	ICDeviceLocationTypeShared ICDeviceLocationType = 0x200
)

func (ICDeviceLocationType) String

func (e ICDeviceLocationType) String() string

type ICDeviceLocationTypeMask

type ICDeviceLocationTypeMask uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceLocationTypeMask

const (
	// ICDeviceLocationTypeMaskBluetooth: A mask for detecting a paired Bluetooth device.
	ICDeviceLocationTypeMaskBluetooth ICDeviceLocationTypeMask = 0x800
	// ICDeviceLocationTypeMaskBonjour: A mask for detecting a network device that publishes a Bonjour service.
	ICDeviceLocationTypeMaskBonjour ICDeviceLocationTypeMask = 0x400
	// ICDeviceLocationTypeMaskLocal: A mask for detecting a local device, such as USB or FireWire.
	ICDeviceLocationTypeMaskLocal ICDeviceLocationTypeMask = 0x100
	// ICDeviceLocationTypeMaskRemote: A mask for detecting a remote device, such as a shared, Bonjour, or Bluetooth device.
	ICDeviceLocationTypeMaskRemote ICDeviceLocationTypeMask = 0xfe00
	// ICDeviceLocationTypeMaskShared: A mask for detecting a device shared by another Mac host.
	ICDeviceLocationTypeMaskShared ICDeviceLocationTypeMask = 0x200
)

func (ICDeviceLocationTypeMask) String

func (e ICDeviceLocationTypeMask) String() string

type ICDeviceType

type ICDeviceType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceType

const (
	// ICDeviceTypeCamera: The device is a camera.
	ICDeviceTypeCamera ICDeviceType = 0x1
	// ICDeviceTypeScanner: The device is a scanner.
	ICDeviceTypeScanner ICDeviceType = 0x2
)

func (ICDeviceType) String

func (e ICDeviceType) String() string

type ICDeviceTypeMask

type ICDeviceTypeMask uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceTypeMask

const (
	// ICDeviceTypeMaskCamera: A mask for detecting a camera.
	ICDeviceTypeMaskCamera ICDeviceTypeMask = 0x1
	// ICDeviceTypeMaskScanner: A mask for detecting a scanner.
	ICDeviceTypeMaskScanner ICDeviceTypeMask = 0x2
)

func (ICDeviceTypeMask) String

func (e ICDeviceTypeMask) String() string

type ICDownloadOption

type ICDownloadOption = string

ICDownloadOption is an option for downloading a file from the camera.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption

var (
	// ICDeleteAfterSuccessfulDownload is a Boolean value indicating whether to delete the file from the device after a successful download.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/deleteAfterSuccessfulDownload
	ICDeleteAfterSuccessfulDownload ICDownloadOption
	// ICDownloadSidecarFiles is a Boolean value indicating whether to download all sidecar files along with the media file.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/sidecarFiles
	ICDownloadSidecarFiles ICDownloadOption
	// ICDownloadsDirectoryURL is a writable directory where the downloaded files should be saved.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/downloadsDirectoryURL
	ICDownloadsDirectoryURL ICDownloadOption
	// ICOverwrite is a Boolean value indicating whether the downloaded file should overwrite an existing file with the same name and extension.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/overwrite
	ICOverwrite ICDownloadOption
	// ICSaveAsFilename is the name to be used for the downloaded file.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/saveAsFilename
	ICSaveAsFilename ICDownloadOption
	// ICSavedAncillaryFiles is an array of files associated with the file being downloaded.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/savedAncillaryFiles
	ICSavedAncillaryFiles ICDownloadOption
	// ICSavedFilename is the actual name of the saved file.
	//
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/savedFilename
	ICSavedFilename ICDownloadOption
	// See: https://developer.apple.com/documentation/ImageCaptureCore/ICDownloadOption/truncateAfterSuccessfulDownload
	ICTruncateAfterSuccessfulDownload ICDownloadOption
)

type ICEXIFOrientationType

type ICEXIFOrientationType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICEXIFOrientationType

const (
	// ICEXIFOrientation1: Normal
	ICEXIFOrientation1 ICEXIFOrientationType = 1
	// ICEXIFOrientation2: Flipped horizontally
	ICEXIFOrientation2 ICEXIFOrientationType = 2
	// ICEXIFOrientation3: Rotated 180°
	ICEXIFOrientation3 ICEXIFOrientationType = 3
	// ICEXIFOrientation4: Flipped vertically
	ICEXIFOrientation4 ICEXIFOrientationType = 4
	// ICEXIFOrientation5: Rotated 90° CCW and flipped vertically
	ICEXIFOrientation5 ICEXIFOrientationType = 5
	// ICEXIFOrientation6: Rotated 90° CCW
	ICEXIFOrientation6 ICEXIFOrientationType = 6
	// ICEXIFOrientation7: Rotated 90° CW and flipped vertically
	ICEXIFOrientation7 ICEXIFOrientationType = 7
	// ICEXIFOrientation8: Rotated 90° CW
	ICEXIFOrientation8 ICEXIFOrientationType = 8
)

func (ICEXIFOrientationType) String

func (e ICEXIFOrientationType) String() string

type ICMediaPresentation

type ICMediaPresentation uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICMediaPresentation

const (
	ICMediaPresentationConvertedAssets ICMediaPresentation = 1
	ICMediaPresentationOriginalAssets  ICMediaPresentation = 2
)

func (ICMediaPresentation) String

func (e ICMediaPresentation) String() string

type ICReturnConnectionErrorCode

type ICReturnConnectionErrorCode int

See: https://developer.apple.com/documentation/ImageCaptureCore/ICReturnConnectionError/Code

const (
	// ICReturnConnectionClosedSessionSuddenly: Device closed session without request.
	ICReturnConnectionClosedSessionSuddenly ICReturnConnectionErrorCode = -21349
	// ICReturnConnectionDriverExited: Device driver exited without request.
	ICReturnConnectionDriverExited ICReturnConnectionErrorCode = -21350
	// ICReturnConnectionEjectFailed: Device reports eject has failed.
	ICReturnConnectionEjectFailed ICReturnConnectionErrorCode = -21346
	// ICReturnConnectionEjectedSuddenly: Device ejected without request.
	ICReturnConnectionEjectedSuddenly ICReturnConnectionErrorCode = -21348
	// ICReturnConnectionFailedToOpen: Failed to open a connection to the device.
	ICReturnConnectionFailedToOpen ICReturnConnectionErrorCode = -21345
	// ICReturnConnectionFailedToOpenDevice: Failed to open the device.
	ICReturnConnectionFailedToOpenDevice        ICReturnConnectionErrorCode = -21344
	ICReturnConnectionNotAuthorizedToOpenDevice ICReturnConnectionErrorCode = -21343
	// ICReturnConnectionSessionAlreadyOpen: Device reports session is already open.
	ICReturnConnectionSessionAlreadyOpen ICReturnConnectionErrorCode = -21347
)

func (ICReturnConnectionErrorCode) String

type ICReturnDownloadErrorCode

type ICReturnDownloadErrorCode int

See: https://developer.apple.com/documentation/ImageCaptureCore/ICReturnDownloadError/Code

const (
	// ICReturnDownloadFileWritable: The destination file is not writable.
	ICReturnDownloadFileWritable ICReturnDownloadErrorCode = -21099
	// ICReturnDownloadPathInvalid: The destination path is invalid.
	ICReturnDownloadPathInvalid ICReturnDownloadErrorCode = -21100
)

func (ICReturnDownloadErrorCode) String

func (e ICReturnDownloadErrorCode) String() string

type ICReturnMetadataErrorCode

type ICReturnMetadataErrorCode int

See: https://developer.apple.com/documentation/ImageCaptureCore/ICReturnMetadataError/Code

const (
	// ICReturnMetadataAlreadyFetching: Item metadata request is being serviced.
	ICReturnMetadataAlreadyFetching ICReturnMetadataErrorCode = -20149
	// ICReturnMetadataCanceled: Item metadata request has been canceled.
	ICReturnMetadataCanceled ICReturnMetadataErrorCode = -20148
	// ICReturnMetadataInvalid: Item metadata request completed with invalid result.
	ICReturnMetadataInvalid ICReturnMetadataErrorCode = -20147
	// ICReturnMetadataNotAvailable: Item does not have metadata available.
	ICReturnMetadataNotAvailable ICReturnMetadataErrorCode = -20150
)

func (ICReturnMetadataErrorCode) String

func (e ICReturnMetadataErrorCode) String() string

type ICReturnObjectErrorCode

type ICReturnObjectErrorCode int

See: https://developer.apple.com/documentation/ImageCaptureCore/ICReturnObjectError/Code

const (
	// ICReturnCodeObjectCouldNotBeRead: The object could not be read.
	ICReturnCodeObjectCouldNotBeRead ICReturnObjectErrorCode = -21448
	// ICReturnCodeObjectDataEmpty: The object data is empty.
	ICReturnCodeObjectDataEmpty ICReturnObjectErrorCode = -21447
	// ICReturnCodeObjectDataOffsetInvalid: The object data offset is invalid.
	ICReturnCodeObjectDataOffsetInvalid   ICReturnObjectErrorCode = -21449
	ICReturnCodeObjectDataRequestTooLarge ICReturnObjectErrorCode = -21446
	// ICReturnCodeObjectDoesNotExist: The object does not exist.
	ICReturnCodeObjectDoesNotExist ICReturnObjectErrorCode = -21450
)

func (ICReturnObjectErrorCode) String

func (e ICReturnObjectErrorCode) String() string

type ICReturnPTPDeviceErrorCode

type ICReturnPTPDeviceErrorCode int

See: https://developer.apple.com/documentation/ImageCaptureCore/ICReturnPTPDeviceError/Code

const (
	// ICReturnPTPFailedToSendCommand: Sending a PTP command failed.
	ICReturnPTPFailedToSendCommand        ICReturnPTPDeviceErrorCode = -21250
	ICReturnPTPNotAuthorizedToSendCommand ICReturnPTPDeviceErrorCode = -21249
)

func (ICReturnPTPDeviceErrorCode) String

type ICReturnThumbnailErrorCode

type ICReturnThumbnailErrorCode int

See: https://developer.apple.com/documentation/ImageCaptureCore/ICReturnThumbnailError/Code

const (
	// ICReturnThumbnailAlreadyFetching: Item thumbnail request is being serviced.
	ICReturnThumbnailAlreadyFetching ICReturnThumbnailErrorCode = -20999
	// ICReturnThumbnailCanceled: Item thumbnail request has been canceled.
	ICReturnThumbnailCanceled ICReturnThumbnailErrorCode = -20098
	// ICReturnThumbnailInvalid: Item thumbnail request completed with invalid result.
	ICReturnThumbnailInvalid ICReturnThumbnailErrorCode = -20097
	// ICReturnThumbnailNotAvailable: Item does not have thumbnail available.
	ICReturnThumbnailNotAvailable ICReturnThumbnailErrorCode = -21000
)

func (ICReturnThumbnailErrorCode) String

type ICScannerBandData

type ICScannerBandData struct {
	objectivec.Object
}

The options for each band of data that the scanner reads.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerBandData

func ICScannerBandDataFromID

func ICScannerBandDataFromID(id objc.ID) ICScannerBandData

ICScannerBandDataFromID constructs a ICScannerBandData from an objc.ID.

The options for each band of data that the scanner reads.

func NewICScannerBandData

func NewICScannerBandData() ICScannerBandData

NewICScannerBandData creates a new ICScannerBandData instance.

func (ICScannerBandData) Autorelease

func (s ICScannerBandData) Autorelease() ICScannerBandData

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerBandData) Init

Init initializes the instance.

type ICScannerBandDataClass

type ICScannerBandDataClass struct {
	// contains filtered or unexported fields
}

func GetICScannerBandDataClass

func GetICScannerBandDataClass() ICScannerBandDataClass

GetICScannerBandDataClass returns the class object for ICScannerBandData.

func (ICScannerBandDataClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerBandDataClass) Class

func (ic ICScannerBandDataClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICScannerBitDepth

type ICScannerBitDepth uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerBitDepth

const (
	ICScannerBitDepth16Bits ICScannerBitDepth = 16
	ICScannerBitDepth1Bit   ICScannerBitDepth = 1
	ICScannerBitDepth8Bits  ICScannerBitDepth = 8
)

func (ICScannerBitDepth) String

func (e ICScannerBitDepth) String() string

type ICScannerColorDataFormatType

type ICScannerColorDataFormatType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerColorDataFormatType

const (
	ICScannerColorDataFormatTypeChunky ICScannerColorDataFormatType = 0
	ICScannerColorDataFormatTypePlanar ICScannerColorDataFormatType = 1
)

func (ICScannerColorDataFormatType) String

type ICScannerDevice

type ICScannerDevice struct {
	ICDevice
}

An object that represents a scanner.

Overview

An instance of ICScannerDevice class is intended to be used by the ICScannerDeviceView object. The ICScannerDeviceView class encapsulates the complexities of setting scan parameters, performing scans and saving the result. The developer should consider using ICScannerDeviceView instead of building their own views using the ICScannerDevice object.

Selecting a Functional Unit

Performing a Scan

Logging into a Protected Device

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice

func ICScannerDeviceFromID

func ICScannerDeviceFromID(id objc.ID) ICScannerDevice

ICScannerDeviceFromID constructs a ICScannerDevice from an objc.ID.

An object that represents a scanner.

func NewICScannerDevice

func NewICScannerDevice() ICScannerDevice

NewICScannerDevice creates a new ICScannerDevice instance.

func (ICScannerDevice) Autorelease

func (s ICScannerDevice) Autorelease() ICScannerDevice

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerDevice) AvailableFunctionalUnitTypes

func (s ICScannerDevice) AvailableFunctionalUnitTypes() []foundation.NSNumber

An array of functional unit types available on this scanner.

Discussion

This array contains NSNumber objects whose values are of type ICScannerFunctionalUnitType.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/availableFunctionalUnitTypes

func (ICScannerDevice) CancelScan

func (s ICScannerDevice) CancelScan()

Cancels the current scan.

Discussion

Cancels the scan in progress by calling ICScannerDevice.RequestOverviewScan or ICScannerDevice.RequestScan.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/cancelScan()

func (ICScannerDevice) DefaultUsername

func (s ICScannerDevice) DefaultUsername() string

A default username on protected scanners.

Discussion

If the scanner is protected, you can set this property to a specific username as a convenience, instead of prompting the user for a username. The value persists until reset to `nil`.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/defaultUsername

func (ICScannerDevice) DocumentUTI

func (s ICScannerDevice) DocumentUTI() string

The document’s uniform type identifier.

Discussion

Supported uniform type identifiers are `kUTTypeJPEG`, `kUTTypeJPEG2000`, `kUTTypeTIFF`, and `kUTTypePNG`.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/documentUTI

func (ICScannerDevice) Init

Init initializes the instance.

func (ICScannerDevice) MaxMemoryBandSize

func (s ICScannerDevice) MaxMemoryBandSize() uint32

The total maximum band size requested when performing a memory-based transfer.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/maxMemoryBandSize

func (ICScannerDevice) RequestOpenSessionWithCredentialsPassword

func (s ICScannerDevice) RequestOpenSessionWithCredentialsPassword(username string, password string)

Opens a session on the protected device with the authorized username and passcode.

Discussion

If the device reports a failure of credentials, you can provide them here for the launch. A client must open a session on a device in order to use the device.

Before calling this method, set the receiver’s delegate; otherwise, the request is ignored.

Once the request to open the session has completed, [DeviceDidOpenSessionWithError] is called on the delegate.

No more messages are sent to the delegate if this request fails.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/requestOpenSession(withCredentials:password:)

func (ICScannerDevice) RequestOverviewScan

func (s ICScannerDevice) RequestOverviewScan()

Starts an overview scan on the selected functional unit.

Discussion

Once the request to start an overview scan has completed, [ScannerDeviceDidCompleteOverviewScanWithError] is called on the delegate.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/requestOverviewScan()

func (ICScannerDevice) RequestScan

func (s ICScannerDevice) RequestScan()

Starts a scan on the selected functional unit.

Discussion

Once the request to start an overview scan has completed, [ScannerDeviceDidCompleteScanWithError] is called on the delegate.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/requestScan()

func (ICScannerDevice) RequestSelectFunctionalUnit

func (s ICScannerDevice) RequestSelectFunctionalUnit(type_ ICScannerFunctionalUnitType)

Requests to select a functional unit on the scanner.

Discussion

When the request has completed, [ScannerDeviceDidSelectFunctionalUnitError] is called on the delegate.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/requestSelect(_:)

func (ICScannerDevice) SelectedFunctionalUnit

func (s ICScannerDevice) SelectedFunctionalUnit() IICScannerFunctionalUnit

The currently selected functional unit on the scanner.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/selectedFunctionalUnit

func (ICScannerDevice) SetDefaultUsername

func (s ICScannerDevice) SetDefaultUsername(value string)

func (ICScannerDevice) SetDocumentName

func (s ICScannerDevice) SetDocumentName(value string)

func (ICScannerDevice) SetDocumentUTI

func (s ICScannerDevice) SetDocumentUTI(value string)

func (ICScannerDevice) SetDownloadsDirectory

func (s ICScannerDevice) SetDownloadsDirectory(value foundation.NSURL)

func (ICScannerDevice) SetMaxMemoryBandSize

func (s ICScannerDevice) SetMaxMemoryBandSize(value uint32)

func (ICScannerDevice) SetTransferMode

func (s ICScannerDevice) SetTransferMode(value ICScannerTransferMode)

func (ICScannerDevice) TransferMode

func (s ICScannerDevice) TransferMode() ICScannerTransferMode

The transfer mode for the scanned document.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice/transferMode

type ICScannerDeviceClass

type ICScannerDeviceClass struct {
	// contains filtered or unexported fields
}

func GetICScannerDeviceClass

func GetICScannerDeviceClass() ICScannerDeviceClass

GetICScannerDeviceClass returns the class object for ICScannerDevice.

func (ICScannerDeviceClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerDeviceClass) Class

func (ic ICScannerDeviceClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICScannerDeviceDelegate

type ICScannerDeviceDelegate interface {
	objectivec.IObject
	ICDeviceDelegate
}

Methods for determining availability, selecting a functional unit, and performing scans on connected scanners.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate

type ICScannerDeviceDelegateConfig

type ICScannerDeviceDelegateConfig struct {

	// Determining Scanner Availability
	// ScannerDeviceDidBecomeAvailable — Tells the client when another client closes the current open session on the scanner.
	ScannerDeviceDidBecomeAvailable func(scanner ICScannerDevice)

	// Performing a Scan
	// ScannerDeviceDidCompleteOverviewScanWithError — Tells the client when the scanner completes an overview scan.
	ScannerDeviceDidCompleteOverviewScanWithError func(scanner ICScannerDevice, error_ foundation.NSError)
	// ScannerDeviceDidCompleteScanWithError — Tells the client when the scanner completes a scan.
	ScannerDeviceDidCompleteScanWithError func(scanner ICScannerDevice, error_ foundation.NSError)

	// Other Methods
	// ScannerDeviceDidSelectFunctionalUnitError — Tells the client when a functional unit is selected on the scanner.
	ScannerDeviceDidSelectFunctionalUnitError func(scanner ICScannerDevice, functionalUnit ICScannerFunctionalUnit, error_ foundation.NSError)
	// ScannerDeviceDidScanToBandData — Tells the client when the scanner receives the requested scan progress notification and a band of data is sent for each notification received.
	ScannerDeviceDidScanToBandData func(scanner ICScannerDevice, data ICScannerBandData)
	// ScannerDeviceDidScanToURL — Tells the client when the scanner receives the requested scan.
	ScannerDeviceDidScanToURL func(scanner ICScannerDevice, url foundation.NSURL)
}

ICScannerDeviceDelegateConfig holds optional typed callbacks for ICScannerDeviceDelegate methods. Set non-nil fields to register the corresponding Objective-C delegate method. Methods with nil callbacks are not registered, so [NSObject.RespondsToSelector] returns false for them — matching the Objective-C delegate pattern exactly.

See Apple Documentation for protocol details.

type ICScannerDeviceDelegateObject

type ICScannerDeviceDelegateObject struct {
	objectivec.Object
}

ICScannerDeviceDelegateObject wraps an existing Objective-C object that conforms to the ICScannerDeviceDelegate protocol.

func ICScannerDeviceDelegateObjectFromID

func ICScannerDeviceDelegateObjectFromID(id objc.ID) ICScannerDeviceDelegateObject

ICScannerDeviceDelegateObjectFromID constructs a ICScannerDeviceDelegateObject from an objc.ID. The object is determined to conform to the protocol at runtime.

func NewICScannerDeviceDelegate

func NewICScannerDeviceDelegate(config ICScannerDeviceDelegateConfig) ICScannerDeviceDelegateObject

NewICScannerDeviceDelegate creates an Objective-C object implementing the ICScannerDeviceDelegate protocol.

Each call registers a unique Objective-C class containing only the methods set in config. This means [NSObject.RespondsToSelector] works correctly for optional delegate methods — only non-nil callbacks are registered.

The returned ICScannerDeviceDelegateObject satisfies the ICScannerDeviceDelegate interface and can be passed directly to SetDelegate and similar methods.

See Apple Documentation for protocol details.

func (ICScannerDeviceDelegateObject) BaseObject

func (ICScannerDeviceDelegateObject) DeviceDidBecomeReady

func (o ICScannerDeviceDelegateObject) DeviceDidBecomeReady(device IICDevice)

Tells the delegate when the device is ready to receive requests.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/deviceDidBecomeReady(_:)

func (ICScannerDeviceDelegateObject) DeviceDidChangeName

func (o ICScannerDeviceDelegateObject) DeviceDidChangeName(device IICDevice)

Tells the delegate when the name of a device changes.

Discussion

This happens if the device module overrides the default name of the device reported by the device’s transport layer, or if the name of the filesystem volume mounted by the device is changed by the user.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/deviceDidChangeName(_:)

func (ICScannerDeviceDelegateObject) DeviceDidCloseSessionWithError

func (o ICScannerDeviceDelegateObject) DeviceDidCloseSessionWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a session is closed on a device.

Discussion

This message completes the process initiated by the message “requestCloseSession” sent to the device object. This message is also sent if the device module in control of the device ceases to control the device.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didCloseSessionWithError:)

func (ICScannerDeviceDelegateObject) DeviceDidEjectWithError

func (o ICScannerDeviceDelegateObject) DeviceDidEjectWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when the ejection is complete.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didEjectWithError:)

func (ICScannerDeviceDelegateObject) DeviceDidEncounterError

func (o ICScannerDeviceDelegateObject) DeviceDidEncounterError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a device encounters an error.

Discussion

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didEncounterError:)

func (ICScannerDeviceDelegateObject) DeviceDidOpenSessionWithError

func (o ICScannerDeviceDelegateObject) DeviceDidOpenSessionWithError(device IICDevice, error_ foundation.NSError)

Tells the delegate when a session is opened on a device.

Discussion

This message completes the process initiated by the message “requestOpenSession” sent to the device object.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didOpenSessionWithError:)

func (ICScannerDeviceDelegateObject) DeviceDidReceiveStatusInformation

func (o ICScannerDeviceDelegateObject) DeviceDidReceiveStatusInformation(device IICDevice, status foundation.INSDictionary)

Tells the delegate when status information is received from a device.

Discussion

The ‘status’ dictionary contains two keys, ICStatusNotificationKey and ICLocalizedStatusNotificationKey, which are defined above. Status information keys are located in their respective ICDevice type class header.

Execution of the delegate callback occurs on the main thread.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/device(_:didReceiveStatusInformation:)

func (ICScannerDeviceDelegateObject) DidRemoveDevice

func (o ICScannerDeviceDelegateObject) DidRemoveDevice(device IICDevice)

Tells the delegate that a device has been removed.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceDelegate/didRemove(_:)

func (ICScannerDeviceDelegateObject) ScannerDeviceDidBecomeAvailable

func (o ICScannerDeviceDelegateObject) ScannerDeviceDidBecomeAvailable(scanner IICScannerDevice)

Tells the client when another client closes the current open session on the scanner.

Discussion

Scanners require exclusive access. Only one client can open a session on a scanner at a time. The scanner is available if it does not have a session opened by another client. Attempting to open a session on a scanner that already has an open session for another client will result in an error.

To open a session on a scanner as soon as it is available, implement this method and call ICDevice.RequestOpenSession in the method body.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate/scannerDeviceDidBecomeAvailable(_:)

func (ICScannerDeviceDelegateObject) ScannerDeviceDidCompleteOverviewScanWithError

func (o ICScannerDeviceDelegateObject) ScannerDeviceDidCompleteOverviewScanWithError(scanner IICScannerDevice, error_ foundation.NSError)

Tells the client when the scanner completes an overview scan.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate/scannerDevice(_:didCompleteOverviewScanWithError:)

func (ICScannerDeviceDelegateObject) ScannerDeviceDidCompleteScanWithError

func (o ICScannerDeviceDelegateObject) ScannerDeviceDidCompleteScanWithError(scanner IICScannerDevice, error_ foundation.NSError)

Tells the client when the scanner completes a scan.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate/scannerDevice(_:didCompleteScanWithError:)

func (ICScannerDeviceDelegateObject) ScannerDeviceDidScanToBandData

func (o ICScannerDeviceDelegateObject) ScannerDeviceDidScanToBandData(scanner IICScannerDevice, data IICScannerBandData)

Tells the client when the scanner receives the requested scan progress notification and a band of data is sent for each notification received.

Discussion

In memory transfer mode, this method sends a band of the size selected by the client using the ICScannerDevice.MaxMemoryBandSize property.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate/scannerDevice(_:didScanTo:)-6tht3

func (ICScannerDeviceDelegateObject) ScannerDeviceDidScanToURL

func (o ICScannerDeviceDelegateObject) ScannerDeviceDidScanToURL(scanner IICScannerDevice, url foundation.NSURL)

Tells the client when the scanner receives the requested scan.

Discussion

If the ICScannerDevice.SelectedFunctionalUnit is a document feeder, then this message is sent once for each scanned page.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate/scannerDevice(_:didScanTo:)-10whl

func (ICScannerDeviceDelegateObject) ScannerDeviceDidSelectFunctionalUnitError

func (o ICScannerDeviceDelegateObject) ScannerDeviceDidSelectFunctionalUnitError(scanner IICScannerDevice, functionalUnit IICScannerFunctionalUnit, error_ foundation.NSError)

Tells the client when a functional unit is selected on the scanner.

Discussion

A functional unit is selected immediately after the scanner instantiates and in response to calling ICScannerDevice.RequestSelectFunctionalUnit.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDeviceDelegate/scannerDevice(_:didSelect:error:)

type ICScannerDocumentType

type ICScannerDocumentType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDocumentType

const (
	ICScannerDocumentType10           ICScannerDocumentType = 25
	ICScannerDocumentType10R          ICScannerDocumentType = 67
	ICScannerDocumentType110          ICScannerDocumentType = 72
	ICScannerDocumentType11R          ICScannerDocumentType = 69
	ICScannerDocumentType12R          ICScannerDocumentType = 70
	ICScannerDocumentType135          ICScannerDocumentType = 76
	ICScannerDocumentType2A0          ICScannerDocumentType = 18
	ICScannerDocumentType3R           ICScannerDocumentType = 61
	ICScannerDocumentType4A0          ICScannerDocumentType = 17
	ICScannerDocumentType4R           ICScannerDocumentType = 62
	ICScannerDocumentType5R           ICScannerDocumentType = 63
	ICScannerDocumentType6R           ICScannerDocumentType = 64
	ICScannerDocumentType8R           ICScannerDocumentType = 65
	ICScannerDocumentTypeA0           ICScannerDocumentType = 19
	ICScannerDocumentTypeA1           ICScannerDocumentType = 20
	ICScannerDocumentTypeA2           ICScannerDocumentType = 21
	ICScannerDocumentTypeA3           ICScannerDocumentType = 11
	ICScannerDocumentTypeA4           ICScannerDocumentType = 1
	ICScannerDocumentTypeA5           ICScannerDocumentType = 5
	ICScannerDocumentTypeA6           ICScannerDocumentType = 13
	ICScannerDocumentTypeA7           ICScannerDocumentType = 22
	ICScannerDocumentTypeA8           ICScannerDocumentType = 23
	ICScannerDocumentTypeA9           ICScannerDocumentType = 24
	ICScannerDocumentTypeAPSC         ICScannerDocumentType = 74
	ICScannerDocumentTypeAPSH         ICScannerDocumentType = 73
	ICScannerDocumentTypeAPSP         ICScannerDocumentType = 75
	ICScannerDocumentTypeB5           ICScannerDocumentType = 2
	ICScannerDocumentTypeBusinessCard ICScannerDocumentType = 53
	ICScannerDocumentTypeC0           ICScannerDocumentType = 44
	ICScannerDocumentTypeC1           ICScannerDocumentType = 45
	ICScannerDocumentTypeC10          ICScannerDocumentType = 51
	ICScannerDocumentTypeC2           ICScannerDocumentType = 46
	ICScannerDocumentTypeC3           ICScannerDocumentType = 47
	ICScannerDocumentTypeC4           ICScannerDocumentType = 14
	ICScannerDocumentTypeC5           ICScannerDocumentType = 15
	ICScannerDocumentTypeC6           ICScannerDocumentType = 16
	ICScannerDocumentTypeC7           ICScannerDocumentType = 48
	ICScannerDocumentTypeC8           ICScannerDocumentType = 49
	ICScannerDocumentTypeC9           ICScannerDocumentType = 50
	ICScannerDocumentTypeDefault      ICScannerDocumentType = 0
	ICScannerDocumentTypeE            ICScannerDocumentType = 60
	ICScannerDocumentTypeISOB0        ICScannerDocumentType = 26
	ICScannerDocumentTypeISOB1        ICScannerDocumentType = 27
	ICScannerDocumentTypeISOB10       ICScannerDocumentType = 33
	ICScannerDocumentTypeISOB2        ICScannerDocumentType = 28
	ICScannerDocumentTypeISOB3        ICScannerDocumentType = 12
	ICScannerDocumentTypeISOB4        ICScannerDocumentType = 6
	ICScannerDocumentTypeISOB5        ICScannerDocumentType = 29
	ICScannerDocumentTypeISOB6        ICScannerDocumentType = 7
	ICScannerDocumentTypeISOB7        ICScannerDocumentType = 30
	ICScannerDocumentTypeISOB8        ICScannerDocumentType = 31
	ICScannerDocumentTypeISOB9        ICScannerDocumentType = 32
	ICScannerDocumentTypeJISB0        ICScannerDocumentType = 34
	ICScannerDocumentTypeJISB1        ICScannerDocumentType = 35
	ICScannerDocumentTypeJISB10       ICScannerDocumentType = 43
	ICScannerDocumentTypeJISB2        ICScannerDocumentType = 36
	ICScannerDocumentTypeJISB3        ICScannerDocumentType = 37
	ICScannerDocumentTypeJISB4        ICScannerDocumentType = 38
	ICScannerDocumentTypeJISB6        ICScannerDocumentType = 39
	ICScannerDocumentTypeJISB7        ICScannerDocumentType = 40
	ICScannerDocumentTypeJISB8        ICScannerDocumentType = 41
	ICScannerDocumentTypeJISB9        ICScannerDocumentType = 42
	ICScannerDocumentTypeLF           ICScannerDocumentType = 78
	ICScannerDocumentTypeMF           ICScannerDocumentType = 77
	ICScannerDocumentTypeS10R         ICScannerDocumentType = 68
	ICScannerDocumentTypeS12R         ICScannerDocumentType = 71
	ICScannerDocumentTypeS8R          ICScannerDocumentType = 66
	ICScannerDocumentTypeUSExecutive  ICScannerDocumentType = 10
	ICScannerDocumentTypeUSLedger     ICScannerDocumentType = 9
	ICScannerDocumentTypeUSLegal      ICScannerDocumentType = 4
	ICScannerDocumentTypeUSLetter     ICScannerDocumentType = 3
	ICScannerDocumentTypeUSStatement  ICScannerDocumentType = 52
)

func (ICScannerDocumentType) String

func (e ICScannerDocumentType) String() string

type ICScannerFeature

type ICScannerFeature struct {
	objectivec.Object
}

An abstract class that describes a scanner feature.

Overview

The ImageCaptureCore framework defines three concrete subclasses of scanner features: ICScannerFeatureEnumeration, ICScannerFeatureRange, and ICScannerFeatureBoolean. Scanner functional units may have one or more instances of these classes to allow users to choose scanner-specific settings or operations before performing a scan.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFeature

func ICScannerFeatureFromID

func ICScannerFeatureFromID(id objc.ID) ICScannerFeature

ICScannerFeatureFromID constructs a ICScannerFeature from an objc.ID.

An abstract class that describes a scanner feature.

func NewICScannerFeature

func NewICScannerFeature() ICScannerFeature

NewICScannerFeature creates a new ICScannerFeature instance.

func (ICScannerFeature) Autorelease

func (s ICScannerFeature) Autorelease() ICScannerFeature

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFeature) Init

Init initializes the instance.

type ICScannerFeatureBoolean

type ICScannerFeatureBoolean struct {
	ICScannerFeature
}

A feature with a value of [YES] or [NO].

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFeatureBoolean

func ICScannerFeatureBooleanFromID

func ICScannerFeatureBooleanFromID(id objc.ID) ICScannerFeatureBoolean

ICScannerFeatureBooleanFromID constructs a ICScannerFeatureBoolean from an objc.ID.

A feature with a value of [YES] or [NO].

func NewICScannerFeatureBoolean

func NewICScannerFeatureBoolean() ICScannerFeatureBoolean

NewICScannerFeatureBoolean creates a new ICScannerFeatureBoolean instance.

func (ICScannerFeatureBoolean) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFeatureBoolean) Init

Init initializes the instance.

func (ICScannerFeatureBoolean) SetValue

func (s ICScannerFeatureBoolean) SetValue(value bool)

type ICScannerFeatureBooleanClass

type ICScannerFeatureBooleanClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFeatureBooleanClass

func GetICScannerFeatureBooleanClass() ICScannerFeatureBooleanClass

GetICScannerFeatureBooleanClass returns the class object for ICScannerFeatureBoolean.

func (ICScannerFeatureBooleanClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFeatureBooleanClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFeatureClass

type ICScannerFeatureClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFeatureClass

func GetICScannerFeatureClass() ICScannerFeatureClass

GetICScannerFeatureClass returns the class object for ICScannerFeature.

func (ICScannerFeatureClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFeatureClass) Class

func (ic ICScannerFeatureClass) Class() objc.Class

Class returns the underlying Objective-C class pointer.

type ICScannerFeatureEnumeration

type ICScannerFeatureEnumeration struct {
	ICScannerFeature
}

A feature that can have one of several discrete values, strings or numbers.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFeatureEnumeration

func ICScannerFeatureEnumerationFromID

func ICScannerFeatureEnumerationFromID(id objc.ID) ICScannerFeatureEnumeration

ICScannerFeatureEnumerationFromID constructs a ICScannerFeatureEnumeration from an objc.ID.

A feature that can have one of several discrete values, strings or numbers.

func NewICScannerFeatureEnumeration

func NewICScannerFeatureEnumeration() ICScannerFeatureEnumeration

NewICScannerFeatureEnumeration creates a new ICScannerFeatureEnumeration instance.

func (ICScannerFeatureEnumeration) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFeatureEnumeration) Init

Init initializes the instance.

func (ICScannerFeatureEnumeration) SetCurrentValue

func (s ICScannerFeatureEnumeration) SetCurrentValue(value objectivec.IObject)

type ICScannerFeatureEnumerationClass

type ICScannerFeatureEnumerationClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFeatureEnumerationClass

func GetICScannerFeatureEnumerationClass() ICScannerFeatureEnumerationClass

GetICScannerFeatureEnumerationClass returns the class object for ICScannerFeatureEnumeration.

func (ICScannerFeatureEnumerationClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFeatureEnumerationClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFeatureRange

type ICScannerFeatureRange struct {
	ICScannerFeature
}

A feature with a value that lies within a range.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFeatureRange

func ICScannerFeatureRangeFromID

func ICScannerFeatureRangeFromID(id objc.ID) ICScannerFeatureRange

ICScannerFeatureRangeFromID constructs a ICScannerFeatureRange from an objc.ID.

A feature with a value that lies within a range.

func NewICScannerFeatureRange

func NewICScannerFeatureRange() ICScannerFeatureRange

NewICScannerFeatureRange creates a new ICScannerFeatureRange instance.

func (ICScannerFeatureRange) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFeatureRange) Init

Init initializes the instance.

func (ICScannerFeatureRange) SetCurrentValue

func (s ICScannerFeatureRange) SetCurrentValue(value float64)

type ICScannerFeatureRangeClass

type ICScannerFeatureRangeClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFeatureRangeClass

func GetICScannerFeatureRangeClass() ICScannerFeatureRangeClass

GetICScannerFeatureRangeClass returns the class object for ICScannerFeatureRange.

func (ICScannerFeatureRangeClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFeatureRangeClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFeatureTemplate

type ICScannerFeatureTemplate struct {
	ICScannerFeature
}

A group of one or more rectangular scan areas that can be used with a scanner functional unit.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFeatureTemplate

func ICScannerFeatureTemplateFromID

func ICScannerFeatureTemplateFromID(id objc.ID) ICScannerFeatureTemplate

ICScannerFeatureTemplateFromID constructs a ICScannerFeatureTemplate from an objc.ID.

A group of one or more rectangular scan areas that can be used with a scanner functional unit.

func NewICScannerFeatureTemplate

func NewICScannerFeatureTemplate() ICScannerFeatureTemplate

NewICScannerFeatureTemplate creates a new ICScannerFeatureTemplate instance.

func (ICScannerFeatureTemplate) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFeatureTemplate) Init

Init initializes the instance.

type ICScannerFeatureTemplateClass

type ICScannerFeatureTemplateClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFeatureTemplateClass

func GetICScannerFeatureTemplateClass() ICScannerFeatureTemplateClass

GetICScannerFeatureTemplateClass returns the class object for ICScannerFeatureTemplate.

func (ICScannerFeatureTemplateClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFeatureTemplateClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFeatureType

type ICScannerFeatureType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFeatureType

const (
	// ICScannerFeatureTypeBoolean: A feature with a value of YES or NO.
	ICScannerFeatureTypeBoolean ICScannerFeatureType = 2
	// ICScannerFeatureTypeEnumeration: A feature that can have one of several discrete values, strings, or numbers.
	ICScannerFeatureTypeEnumeration ICScannerFeatureType = 0
	// ICScannerFeatureTypeRange: A feature with a value that lies within a range.
	ICScannerFeatureTypeRange ICScannerFeatureType = 1
	// ICScannerFeatureTypeTemplate: A group of one or more rectangular scan areas that can be used with a scanner functional unit.
	ICScannerFeatureTypeTemplate ICScannerFeatureType = 3
)

func (ICScannerFeatureType) String

func (e ICScannerFeatureType) String() string

type ICScannerFunctionalUnit

type ICScannerFunctionalUnit struct {
	objectivec.Object
}

An abstract class that represents a scanner functional unit.

Overview

The ImageCaptureCore framework defines four concrete subclasses of functional units:

- ICScannerFunctionalUnitDocumentFeeder - ICScannerFunctionalUnitFlatbed - ICScannerFunctionalUnitPositiveTransparency - ICScannerFunctionalUnitNegativeTransparency

ICScannerDevice creates instances of these subclasses.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnit

func ICScannerFunctionalUnitFromID

func ICScannerFunctionalUnitFromID(id objc.ID) ICScannerFunctionalUnit

ICScannerFunctionalUnitFromID constructs a ICScannerFunctionalUnit from an objc.ID.

An abstract class that represents a scanner functional unit.

func NewICScannerFunctionalUnit

func NewICScannerFunctionalUnit() ICScannerFunctionalUnit

NewICScannerFunctionalUnit creates a new ICScannerFunctionalUnit instance.

func (ICScannerFunctionalUnit) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFunctionalUnit) Init

Init initializes the instance.

func (ICScannerFunctionalUnit) SetBitDepth

func (s ICScannerFunctionalUnit) SetBitDepth(value ICScannerBitDepth)

func (ICScannerFunctionalUnit) SetMeasurementUnit

func (s ICScannerFunctionalUnit) SetMeasurementUnit(value ICScannerMeasurementUnit)

func (ICScannerFunctionalUnit) SetOverviewResolution

func (s ICScannerFunctionalUnit) SetOverviewResolution(value uint)

func (ICScannerFunctionalUnit) SetPixelDataType

func (s ICScannerFunctionalUnit) SetPixelDataType(value ICScannerPixelDataType)

func (ICScannerFunctionalUnit) SetResolution

func (s ICScannerFunctionalUnit) SetResolution(value uint)

func (ICScannerFunctionalUnit) SetScaleFactor

func (s ICScannerFunctionalUnit) SetScaleFactor(value uint)

func (ICScannerFunctionalUnit) SetScanArea

func (s ICScannerFunctionalUnit) SetScanArea(value corefoundation.CGRect)

func (ICScannerFunctionalUnit) SetScanAreaOrientation

func (s ICScannerFunctionalUnit) SetScanAreaOrientation(value ICEXIFOrientationType)

func (ICScannerFunctionalUnit) SetThresholdForBlackAndWhiteScanning

func (s ICScannerFunctionalUnit) SetThresholdForBlackAndWhiteScanning(value byte)

func (ICScannerFunctionalUnit) SetUsesThresholdForBlackAndWhiteScanning

func (s ICScannerFunctionalUnit) SetUsesThresholdForBlackAndWhiteScanning(value bool)

type ICScannerFunctionalUnitClass

type ICScannerFunctionalUnitClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFunctionalUnitClass

func GetICScannerFunctionalUnitClass() ICScannerFunctionalUnitClass

GetICScannerFunctionalUnitClass returns the class object for ICScannerFunctionalUnit.

func (ICScannerFunctionalUnitClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFunctionalUnitClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFunctionalUnitDocumentFeeder

type ICScannerFunctionalUnitDocumentFeeder struct {
	ICScannerFunctionalUnit
}

An object that represents the document feeder unit on a scanner.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitDocumentFeeder

func ICScannerFunctionalUnitDocumentFeederFromID

func ICScannerFunctionalUnitDocumentFeederFromID(id objc.ID) ICScannerFunctionalUnitDocumentFeeder

ICScannerFunctionalUnitDocumentFeederFromID constructs a ICScannerFunctionalUnitDocumentFeeder from an objc.ID.

An object that represents the document feeder unit on a scanner.

func NewICScannerFunctionalUnitDocumentFeeder

func NewICScannerFunctionalUnitDocumentFeeder() ICScannerFunctionalUnitDocumentFeeder

NewICScannerFunctionalUnitDocumentFeeder creates a new ICScannerFunctionalUnitDocumentFeeder instance.

func (ICScannerFunctionalUnitDocumentFeeder) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFunctionalUnitDocumentFeeder) Init

Init initializes the instance.

func (ICScannerFunctionalUnitDocumentFeeder) SetDocumentType

func (ICScannerFunctionalUnitDocumentFeeder) SetDuplexScanningEnabled

func (s ICScannerFunctionalUnitDocumentFeeder) SetDuplexScanningEnabled(value bool)

func (ICScannerFunctionalUnitDocumentFeeder) SetEvenPageOrientation

func (s ICScannerFunctionalUnitDocumentFeeder) SetEvenPageOrientation(value ICEXIFOrientationType)

func (ICScannerFunctionalUnitDocumentFeeder) SetOddPageOrientation

func (s ICScannerFunctionalUnitDocumentFeeder) SetOddPageOrientation(value ICEXIFOrientationType)

type ICScannerFunctionalUnitDocumentFeederClass

type ICScannerFunctionalUnitDocumentFeederClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFunctionalUnitDocumentFeederClass

func GetICScannerFunctionalUnitDocumentFeederClass() ICScannerFunctionalUnitDocumentFeederClass

GetICScannerFunctionalUnitDocumentFeederClass returns the class object for ICScannerFunctionalUnitDocumentFeeder.

func (ICScannerFunctionalUnitDocumentFeederClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFunctionalUnitDocumentFeederClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFunctionalUnitFlatbed

type ICScannerFunctionalUnitFlatbed struct {
	ICScannerFunctionalUnit
}

An object that represents the flatbed unit on a scanner.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitFlatbed

func ICScannerFunctionalUnitFlatbedFromID

func ICScannerFunctionalUnitFlatbedFromID(id objc.ID) ICScannerFunctionalUnitFlatbed

ICScannerFunctionalUnitFlatbedFromID constructs a ICScannerFunctionalUnitFlatbed from an objc.ID.

An object that represents the flatbed unit on a scanner.

func NewICScannerFunctionalUnitFlatbed

func NewICScannerFunctionalUnitFlatbed() ICScannerFunctionalUnitFlatbed

NewICScannerFunctionalUnitFlatbed creates a new ICScannerFunctionalUnitFlatbed instance.

func (ICScannerFunctionalUnitFlatbed) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFunctionalUnitFlatbed) Init

Init initializes the instance.

func (ICScannerFunctionalUnitFlatbed) SetDocumentType

func (s ICScannerFunctionalUnitFlatbed) SetDocumentType(value ICScannerDocumentType)

type ICScannerFunctionalUnitFlatbedClass

type ICScannerFunctionalUnitFlatbedClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFunctionalUnitFlatbedClass

func GetICScannerFunctionalUnitFlatbedClass() ICScannerFunctionalUnitFlatbedClass

GetICScannerFunctionalUnitFlatbedClass returns the class object for ICScannerFunctionalUnitFlatbed.

func (ICScannerFunctionalUnitFlatbedClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFunctionalUnitFlatbedClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFunctionalUnitNegativeTransparency

type ICScannerFunctionalUnitNegativeTransparency struct {
	ICScannerFunctionalUnit
}

An object that represents the transparency unit for scanning negatives on the scanner.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitNegativeTransparency

func ICScannerFunctionalUnitNegativeTransparencyFromID

func ICScannerFunctionalUnitNegativeTransparencyFromID(id objc.ID) ICScannerFunctionalUnitNegativeTransparency

ICScannerFunctionalUnitNegativeTransparencyFromID constructs a ICScannerFunctionalUnitNegativeTransparency from an objc.ID.

An object that represents the transparency unit for scanning negatives on the scanner.

func NewICScannerFunctionalUnitNegativeTransparency

func NewICScannerFunctionalUnitNegativeTransparency() ICScannerFunctionalUnitNegativeTransparency

NewICScannerFunctionalUnitNegativeTransparency creates a new ICScannerFunctionalUnitNegativeTransparency instance.

func (ICScannerFunctionalUnitNegativeTransparency) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFunctionalUnitNegativeTransparency) Init

Init initializes the instance.

func (ICScannerFunctionalUnitNegativeTransparency) SetDocumentType

type ICScannerFunctionalUnitNegativeTransparencyClass

type ICScannerFunctionalUnitNegativeTransparencyClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFunctionalUnitNegativeTransparencyClass

func GetICScannerFunctionalUnitNegativeTransparencyClass() ICScannerFunctionalUnitNegativeTransparencyClass

GetICScannerFunctionalUnitNegativeTransparencyClass returns the class object for ICScannerFunctionalUnitNegativeTransparency.

func (ICScannerFunctionalUnitNegativeTransparencyClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFunctionalUnitNegativeTransparencyClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFunctionalUnitPositiveTransparency

type ICScannerFunctionalUnitPositiveTransparency struct {
	ICScannerFunctionalUnit
}

An object that represents the transparency unit for scanning positives on the scanner.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitPositiveTransparency

func ICScannerFunctionalUnitPositiveTransparencyFromID

func ICScannerFunctionalUnitPositiveTransparencyFromID(id objc.ID) ICScannerFunctionalUnitPositiveTransparency

ICScannerFunctionalUnitPositiveTransparencyFromID constructs a ICScannerFunctionalUnitPositiveTransparency from an objc.ID.

An object that represents the transparency unit for scanning positives on the scanner.

func NewICScannerFunctionalUnitPositiveTransparency

func NewICScannerFunctionalUnitPositiveTransparency() ICScannerFunctionalUnitPositiveTransparency

NewICScannerFunctionalUnitPositiveTransparency creates a new ICScannerFunctionalUnitPositiveTransparency instance.

func (ICScannerFunctionalUnitPositiveTransparency) Autorelease

Autorelease adds the receiver to the current autorelease pool.

func (ICScannerFunctionalUnitPositiveTransparency) Init

Init initializes the instance.

func (ICScannerFunctionalUnitPositiveTransparency) SetDocumentType

type ICScannerFunctionalUnitPositiveTransparencyClass

type ICScannerFunctionalUnitPositiveTransparencyClass struct {
	// contains filtered or unexported fields
}

func GetICScannerFunctionalUnitPositiveTransparencyClass

func GetICScannerFunctionalUnitPositiveTransparencyClass() ICScannerFunctionalUnitPositiveTransparencyClass

GetICScannerFunctionalUnitPositiveTransparencyClass returns the class object for ICScannerFunctionalUnitPositiveTransparency.

func (ICScannerFunctionalUnitPositiveTransparencyClass) Alloc

Alloc allocates memory for a new instance of the class.

func (ICScannerFunctionalUnitPositiveTransparencyClass) Class

Class returns the underlying Objective-C class pointer.

type ICScannerFunctionalUnitState

type ICScannerFunctionalUnitState uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitState

const (
	// ICScannerFunctionalUnitStateOverviewScanInProgress: A flag indicating that the functional unit is performing an overview scan.
	ICScannerFunctionalUnitStateOverviewScanInProgress ICScannerFunctionalUnitState = 4
	// ICScannerFunctionalUnitStateReady: A flag indicating that the functional unit is ready for operation.
	ICScannerFunctionalUnitStateReady ICScannerFunctionalUnitState = 1
	// ICScannerFunctionalUnitStateScanInProgress: A flag indicating that the functional unit is performing a scan.
	ICScannerFunctionalUnitStateScanInProgress ICScannerFunctionalUnitState = 2
)

func (ICScannerFunctionalUnitState) String

type ICScannerFunctionalUnitType

type ICScannerFunctionalUnitType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitType

const (
	// ICScannerFunctionalUnitTypeDocumentFeeder: A document feeder functional unit.
	ICScannerFunctionalUnitTypeDocumentFeeder ICScannerFunctionalUnitType = 3
	// ICScannerFunctionalUnitTypeFlatbed: A flatbed functional unit.
	ICScannerFunctionalUnitTypeFlatbed ICScannerFunctionalUnitType = 0
	// ICScannerFunctionalUnitTypeNegativeTransparency: A transparency functional unit for scanning negatives.
	ICScannerFunctionalUnitTypeNegativeTransparency ICScannerFunctionalUnitType = 2
	// ICScannerFunctionalUnitTypePositiveTransparency: A transparency functional unit for scanning positives.
	ICScannerFunctionalUnitTypePositiveTransparency ICScannerFunctionalUnitType = 1
)

func (ICScannerFunctionalUnitType) String

type ICScannerMeasurementUnit

type ICScannerMeasurementUnit uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerMeasurementUnit

const (
	ICScannerMeasurementUnitCentimeters ICScannerMeasurementUnit = 1
	ICScannerMeasurementUnitInches      ICScannerMeasurementUnit = 0
	ICScannerMeasurementUnitPicas       ICScannerMeasurementUnit = 2
	ICScannerMeasurementUnitPixels      ICScannerMeasurementUnit = 5
	ICScannerMeasurementUnitPoints      ICScannerMeasurementUnit = 3
	ICScannerMeasurementUnitTwips       ICScannerMeasurementUnit = 4
)

func (ICScannerMeasurementUnit) String

func (e ICScannerMeasurementUnit) String() string

type ICScannerPixelDataType

type ICScannerPixelDataType uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerPixelDataType

const (
	ICScannerPixelDataTypeBW      ICScannerPixelDataType = 0
	ICScannerPixelDataTypeCIEXYZ  ICScannerPixelDataType = 8
	ICScannerPixelDataTypeCMY     ICScannerPixelDataType = 4
	ICScannerPixelDataTypeCMYK    ICScannerPixelDataType = 5
	ICScannerPixelDataTypeGray    ICScannerPixelDataType = 1
	ICScannerPixelDataTypePalette ICScannerPixelDataType = 3
	ICScannerPixelDataTypeRGB     ICScannerPixelDataType = 2
	ICScannerPixelDataTypeYUV     ICScannerPixelDataType = 6
	ICScannerPixelDataTypeYUVK    ICScannerPixelDataType = 7
)

func (ICScannerPixelDataType) String

func (e ICScannerPixelDataType) String() string

type ICScannerTransferMode

type ICScannerTransferMode uint

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerTransferMode

const (
	// ICScannerTransferModeFileBased: The mode for transferring the scan as a file.
	ICScannerTransferModeFileBased ICScannerTransferMode = 0
	// ICScannerTransferModeMemoryBased: The mode for transferring the scan as data.
	ICScannerTransferModeMemoryBased ICScannerTransferMode = 1
)

func (ICScannerTransferMode) String

func (e ICScannerTransferMode) String() string

type ICSessionOptions

type ICSessionOptions = string

ICSessionOptions is session options for altering the delivery of the device contents.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICSessionOptions

type ICUploadOption

type ICUploadOption = string

ICUploadOption is an option for uploading a file to the camera.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICUploadOption

type IICCameraDevice

type IICCameraDevice interface {
	IICDevice

	// All image, movie, and audio files stored on the camera, in an order that reflects the camera’s storage folder structure.
	Contents() []ICCameraItem
	// All image, movie and audio files stored on the camera, without regard to the camera’s storage folder structure.
	MediaFiles() []ICCameraItem
	// The percentage of the camera’s content that has been catalogued.
	ContentCatalogPercentCompleted() uint
	// Returns an array of files of the selected type on the camera.
	FilesOfType(fileUTType string) []string
	// Asynchronously reads data of a specified length from a specified offset.
	RequestReadDataFromFileAtOffsetLengthReadDelegateDidReadDataSelectorContextInfo(file IICCameraFile, offset int64, length int64, readDelegate objectivec.IObject, selector objc.SEL, contextInfo uintptr)

	// Cancels a download from the camera.
	CancelDownload()
	// Downloads a file from the camera.
	RequestDownloadFileOptionsDownloadDelegateDidDownloadSelectorContextInfo(file IICCameraFile, options foundation.INSDictionary, downloadDelegate ICCameraDeviceDownloadDelegate, selector objc.SEL, contextInfo uintptr)

	// A Boolean value indicating whether the device is locked, preventing deletion of any asset.
	IsLocked() bool
	// Deletes files from the camera.
	RequestDeleteFiles(files []ICCameraItem)
	// Cancels the current delete operation.
	CancelDelete()

	// A Boolean value indicating whether tethered capture is enabled on the camera.
	TetheredCaptureEnabled() bool
	// A closure for handling PTP event packets.
	PtpEventHandler() DataHandler
	SetPtpEventHandler(value DataHandler)
	// Captures a new image using the camera.
	RequestTakePicture()
	// Sends a Picture Transfer Protocol (PTP) command to a camera asynchronously.
	RequestSendPTPCommandOutDataSendCommandDelegateDidSendCommandSelectorContextInfo(command foundation.NSData, data foundation.NSData, sendCommandDelegate objectivec.IObject, selector objc.SEL, contextInfo uintptr)
	// Sends a Picture Transfer Protocol (PTP) command to a camera asynchronously.
	RequestSendPTPCommandOutDataCompletion(ptpCommand foundation.NSData, ptpData foundation.NSData, completion DataDataErrorHandler)

	// A Boolean value that indicates whether the battery charge level is available.
	BatteryLevelAvailable() bool
	// The battery charge level.
	BatteryLevel() uint

	// The time offset, in seconds, between the camera’s clock and the computer’s clock.
	TimeOffset() foundation.NSTimeInterval
	// Synchronizes the camera’s clock with the computer’s clock.
	RequestSyncClock()

	// A Boolean value indicating whether the device is an Apple device, passcode-locked, and connected to an untrusted host.
	IsAccessRestrictedAppleDevice() bool
	// A Boolean value indicating whether the iCloud Photo Library is enabled on the device.
	ICloudPhotosEnabled() bool

	// The file system mount point for a camera using the mass storage transport type.
	MountPoint() string

	// A Boolean value indicating whether the device can be ‘soft’ removed or disconnected.
	IsEjectable() bool

	MediaPresentation() ICMediaPresentation
	SetMediaPresentation(value ICMediaPresentation)
}

An interface definition for the ICCameraDevice class.

Reading Files

Downloading Files

Deleting Files

Taking Pictures

Inspecting the Battery Charge Level

Synchronizing the Clock

Detecting Apple Devices

Detecting Mass Storage Devices

Removing a Device

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraDevice

type IICCameraFile

type IICCameraFile interface {
	IICCameraItem

	// Requests a thumbnail and executes the completion block in place of the delegate.
	RequestThumbnailDataWithOptionsCompletion(options foundation.INSDictionary, completion DataErrorHandler)

	// Requests a download and executes the completion block in place of the delegate.
	RequestDownloadWithOptionsCompletion(options foundation.INSDictionary, completion StringErrorHandler) foundation.Progress

	// Requests to asynchronously read data of a specified length from a specified offset, then executes the completion block.
	RequestReadDataAtOffsetLengthCompletion(offset int64, length int64, completion DataErrorHandler)

	// The original name of the file on disk.
	OriginalFilename() string
	// The created name of the file.
	CreatedFilename() string

	// The group [UUID] of the file.
	GroupUUID() string
	// A related UUID correlating several images from an Apple device.
	RelatedUUID() string
	// The originating asset ID of an [HEIF] or [HVEC] file.
	OriginatingAssetID() string

	// The creation date of the file.
	FileCreationDate() foundation.NSDate
	// The modification date of the file.
	FileModificationDate() foundation.NSDate

	// The size of the file, in bytes.
	FileSize() int64

	// The width of an image or movie frame.
	Width() int
	// The height of an image or movie frame.
	Height() int

	// The orientation to use when downloading the image.
	Orientation() ICEXIFOrientationType
	SetOrientation(value ICEXIFOrientationType)
	// The [EXIF] creation date of the file.
	ExifCreationDate() foundation.NSDate
	// The [EXIF] modification date of the file.
	ExifModificationDate() foundation.NSDate

	// The GPS String of the file in standard format.
	GpsString() string

	// A Boolean value that indicates whether a file is autopicked by Photos to represent the burst.
	FirstPicked() bool
	// The burst UUID of the file if it is in a burst.
	BurstUUID() string
	// A Boolean value that indicates this file is the burst favorite in a burst.
	BurstFavorite() bool
	// A Boolean value that indicates whether this file is user picked in a burst.
	BurstPicked() bool

	// The duration, in seconds, of an audio or video file.
	Duration() float64
	// A Boolean value that indicates whether the file is a slow motion or high-frame-rate video file.
	HighFramerate() bool
	// A Boolean value that indicates whether the file is a time-lapse video file.
	TimeLapse() bool

	// An array of two camera files associated with this file.
	SidecarFiles() []ICCameraItem
	// A sidecar file containing the logical [RAW] compliment of a [JPG] or other two-format image.
	PairedRawImage() IICCameraFile

	Fingerprint() string

	RequestFingerprintWithCompletion(completion StringErrorHandler)
	RequestSecurityScopedURLWithCompletion(completion URLErrorHandler)
}

An interface definition for the ICCameraFile class.

Requesting Thumbnails

Requesting Downloads

Requesting Data

Inspecting a File’s Name

Inspecting a File’s Identity

Determining When a File Was Created or Modified

Inspecting a File’s Size

Inspecting a File’s Dimensions

Inspecting a File’s EXIF Data

Identifying a File’s Location

Inspecting a File in a Burst

Inspecting Video Properties

Instance Properties

Instance Methods

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFile

type IICCameraFolder

type IICCameraFolder interface {
	IICCameraItem

	// A list of items that this folder contains.
	Contents() []ICCameraItem
}

An interface definition for the ICCameraFolder class.

Inspecting a Folder’s Contents

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraFolder

type IICCameraItem

type IICCameraItem interface {
	objectivec.IObject

	// The item’s uniform type identifier (UTI) string.
	UTI() string
	// The item’s name.
	Name() string
	// The item’s [PTP] object handle value, if the camera uses the [PTP] protocol.
	PtpObjectHandle() uint32
	// A Boolean value indicating whether the item is a raw image file.
	IsRaw() bool

	// The item’s creation date, usually the same as its [EXIF] creation date.
	CreationDate() foundation.NSDate
	// The item’s modification date, usually the same as its [EXIF] modification date.
	ModificationDate() foundation.NSDate
	// A Boolean value indicating whether the item was captured on the camera after the camera’s content had been fully enumerated.
	AddedAfterContentCatalogCompleted() bool

	// The item’s parent device.
	Device() IICCameraDevice
	// The item’s file system path on a camera using the mass storage transport type.
	FileSystemPath() string
	// This item’s parent folder.
	ParentFolder() IICCameraFolder
	// A Boolean value that indicates whether this item is in a temporary store.
	IsInTemporaryStore() bool

	// Requests metadata for the item.
	RequestMetadata()
	// The item’s metadata.
	Metadata() foundation.INSDictionary
	// Deletes the item’s cached metadata.
	FlushMetadataCache()

	// Requests a thumbnail for the item.
	RequestThumbnail()
	// The item’s thumbnail.
	Thumbnail() coregraphics.CGImageRef
	// Deletes the item’s cached thumbnail.
	FlushThumbnailCache()

	// A Boolean value that indicates whether the storage card in the camera is locked.
	IsLocked() bool

	// A mutable dictionary to store arbitrary key-value pairs associated with a camera item.
	UserData() foundation.INSDictionary
}

An interface definition for the ICCameraItem class.

Inspecting an Item’s Name and Type

Determining an Item’s Change Dates

Locating an Item

Requesting Metadata

Requesting Thumbnails

Accessing a Protected Item

Storing Information

  • IICCameraItem.UserData: A mutable dictionary to store arbitrary key-value pairs associated with a camera item.

See: https://developer.apple.com/documentation/ImageCaptureCore/ICCameraItem

type IICDevice

type IICDevice interface {
	objectivec.IObject

	// The device’s name as reported by the device module, or if no device module is in control of this device, by the device transport.
	Name() string
	// The device’s type.
	ProductKind() string
	// The device’s icon image.
	Icon() coregraphics.CGImageRef
	// A string representation of the device’s universally unique identifier (UUID).
	UUIDString() string
	// A string representation of the device’s persistent ID.
	PersistentIDString() string
	// The device’s serial number.
	SerialNumberString() string

	// A combination of the device’s type and its location type.
	Type() ICDeviceType
	// A nonlocalized location description for the device.
	LocationDescription() string
	// The file system path of the device module associated with this device.
	ModulePath() string
	// The bundle version of the device module associated with this device.
	ModuleVersion() string
	// The USB location that the device is occupying.
	UsbLocationID() int32
	// The USB Product ID (PID) associated with the device.
	UsbProductID() int32
	// The USB Vendor ID (VID) associated with the device.
	UsbVendorID() int32

	// The hardware connection type the device is using.
	TransportType() string

	// The capabilities of the device as reported by the device module.
	Capabilities() []string

	// The delegate to receive messages once a session is opened on the device.
	Delegate() ICDeviceDelegate
	SetDelegate(value ICDeviceDelegate)
	// A Boolean value that indicates whether the device has an open session.
	HasOpenSession() bool
	// Requests to open a session on the device.
	RequestOpenSession()
	// Requests to open a session on the device, then executes the completion handler.
	RequestOpenSessionWithOptionsCompletion(options foundation.INSDictionary, completion ErrorHandler)
	// Asynchronously sends an arbitrary message with optional data to a device.
	RequestSendMessageOutDataMaxReturnedDataSizeSendMessageDelegateDidSendMessageSelectorContextInfo(messageCode uint32, data foundation.NSData, maxReturnedDataSize uint32, sendMessageDelegate objectivec.IObject, selector objc.SEL, contextInfo uintptr)
	// Requests to close an open session on the device.
	RequestCloseSession()
	// Requests to close an open session on the device, then executes the completion handler.
	RequestCloseSessionWithOptionsCompletion(options foundation.INSDictionary, completion ErrorHandler)
	// Requests to eject the media if permitted by the device, or to disconnect from a remote device.
	RequestEject()
	// Requests to eject the media if permitted by the device, or to disconnect from a remote device, then executes the completion handler.
	RequestEjectWithCompletion(completion ErrorHandler)

	// A bookkeeping object for client convenience.
	UserData() foundation.INSDictionary
	// The file system path of an application to launch automatically when this device is added.
	AutolaunchApplicationPath() string
	SetAutolaunchApplicationPath(value string)
	// A Boolean value indicating whether the device is published by the Image Capture device-sharing facility.
	IsRemote() bool

	SystemSymbolName() string
}

An interface definition for the ICDevice class.

Identifying a Device

Inspecting a Device’s Type and Location

Inspecting a Device’s Transport Type

Inspecting a Device’s Capabilities

Managing a Device

Configuring a Device’s Characteristics

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDevice

type IICDeviceBrowser

type IICDeviceBrowser interface {
	objectivec.IObject

	// The object that acts as the delegate of the device browser.
	Delegate() ICDeviceBrowserDelegate
	SetDelegate(value ICDeviceBrowserDelegate)

	// A Boolean value indicating whether the device browser is browsing for devices.
	IsBrowsing() bool
	// All devices found by the browser.
	Devices() []ICDevice
	// A mask whose set bits indicate the type of devices being browsed after the delegate receives the start message.
	BrowsedDeviceTypeMask() ICDeviceTypeMask
	SetBrowsedDeviceTypeMask(value ICDeviceTypeMask)
	// Tells the delegate to start looking for devices.
	Start()
	// Tells the delegate to stop looking for devices.
	Stop()

	// Returns a device object that the client application should select when it launches.
	PreferredDevice() IICDevice
}

An interface definition for the ICDeviceBrowser class.

Managing Device Browsing

Browsing Devices

Setting a Preferred Device

See: https://developer.apple.com/documentation/ImageCaptureCore/ICDeviceBrowser

type IICScannerDevice

type IICScannerDevice interface {
	IICDevice

	// An array of functional unit types available on this scanner.
	AvailableFunctionalUnitTypes() []foundation.NSNumber
	// The currently selected functional unit on the scanner.
	SelectedFunctionalUnit() IICScannerFunctionalUnit
	// Requests to select a functional unit on the scanner.
	RequestSelectFunctionalUnit(type_ ICScannerFunctionalUnitType)

	// Opens a session on the protected device with the authorized username and passcode.
	RequestOpenSessionWithCredentialsPassword(username string, password string)
	// Starts an overview scan on the selected functional unit.
	RequestOverviewScan()
	// Starts a scan on the selected functional unit.
	RequestScan()
	// Cancels the current scan.
	CancelScan()
	// The document’s name.
	DocumentName() string
	SetDocumentName(value string)
	// The document’s uniform type identifier.
	DocumentUTI() string
	SetDocumentUTI(value string)
	// The downloads directory.
	DownloadsDirectory() foundation.NSURL
	SetDownloadsDirectory(value foundation.NSURL)
	// The transfer mode for the scanned document.
	TransferMode() ICScannerTransferMode
	SetTransferMode(value ICScannerTransferMode)
	// The total maximum band size requested when performing a memory-based transfer.
	MaxMemoryBandSize() uint32
	SetMaxMemoryBandSize(value uint32)

	// A default username on protected scanners.
	DefaultUsername() string
	SetDefaultUsername(value string)
}

An interface definition for the ICScannerDevice class.

Selecting a Functional Unit

Performing a Scan

Logging into a Protected Device

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerDevice

type IICScannerFunctionalUnit

type IICScannerFunctionalUnit interface {
	objectivec.IObject

	AcceptsThresholdForBlackAndWhiteScanning() bool
	BitDepth() ICScannerBitDepth
	SetBitDepth(value ICScannerBitDepth)
	CanPerformOverviewScan() bool
	DefaultThresholdForBlackAndWhiteScanning() byte
	MeasurementUnit() ICScannerMeasurementUnit
	SetMeasurementUnit(value ICScannerMeasurementUnit)
	NativeXResolution() uint
	NativeYResolution() uint
	OverviewImage() coregraphics.CGImageRef
	OverviewResolution() uint
	SetOverviewResolution(value uint)
	OverviewScanInProgress() bool
	PhysicalSize() corefoundation.CGSize
	PixelDataType() ICScannerPixelDataType
	SetPixelDataType(value ICScannerPixelDataType)
	PreferredResolutions() foundation.NSIndexSet
	PreferredScaleFactors() foundation.NSIndexSet
	Resolution() uint
	SetResolution(value uint)
	ScaleFactor() uint
	SetScaleFactor(value uint)
	ScanArea() corefoundation.CGRect
	SetScanArea(value corefoundation.CGRect)
	ScanAreaOrientation() ICEXIFOrientationType
	SetScanAreaOrientation(value ICEXIFOrientationType)
	ScanInProgress() bool
	ScanProgressPercentDone() float64
	State() ICScannerFunctionalUnitState
	SupportedBitDepths() foundation.NSIndexSet
	SupportedMeasurementUnits() foundation.NSIndexSet
	SupportedResolutions() foundation.NSIndexSet
	SupportedScaleFactors() foundation.NSIndexSet
	Templates() []ICScannerFeatureTemplate
	ThresholdForBlackAndWhiteScanning() byte
	SetThresholdForBlackAndWhiteScanning(value byte)
	Type() ICScannerFunctionalUnitType
	UsesThresholdForBlackAndWhiteScanning() bool
	SetUsesThresholdForBlackAndWhiteScanning(value bool)
	VendorFeatures() []ICScannerFeature
}

An interface definition for the ICScannerFunctionalUnit class.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnit

type IICScannerFunctionalUnitDocumentFeeder

type IICScannerFunctionalUnitDocumentFeeder interface {
	IICScannerFunctionalUnit

	DocumentLoaded() bool
	DocumentSize() corefoundation.CGSize
	DocumentType() ICScannerDocumentType
	SetDocumentType(value ICScannerDocumentType)
	DuplexScanningEnabled() bool
	SetDuplexScanningEnabled(value bool)
	EvenPageOrientation() ICEXIFOrientationType
	SetEvenPageOrientation(value ICEXIFOrientationType)
	OddPageOrientation() ICEXIFOrientationType
	SetOddPageOrientation(value ICEXIFOrientationType)
	ReverseFeederPageOrder() bool
	SupportedDocumentTypes() foundation.NSIndexSet
	SupportsDuplexScanning() bool
}

An interface definition for the ICScannerFunctionalUnitDocumentFeeder class.

Instance Properties

See: https://developer.apple.com/documentation/ImageCaptureCore/ICScannerFunctionalUnitDocumentFeeder

type StringErrorHandler

type StringErrorHandler = func(*string, error)

StringErrorHandler is the signature for a completion handler block.

Used by:

type StringHandler

type StringHandler = func(*string)

StringHandler is the signature for a completion handler block.

Used by:

  • [ICDeviceBrowser.RequestContentsAuthorizationWithCompletion]
  • [ICDeviceBrowser.RequestControlAuthorizationWithCompletion]
  • [ICDeviceBrowser.ResetContentsAuthorizationWithCompletion]
  • [ICDeviceBrowser.ResetControlAuthorizationWithCompletion]

type StringICCameraItemDictionaryHandler

type StringICCameraItemDictionaryHandler = func(*foundation.INSDictionary)

StringICCameraItemDictionaryHandler is the signature for a completion handler block.

Used by:

  • [ICCameraDevice.RequestDeleteFilesDeleteFailedCompletion]

type StringNSArrayICCameraItemDictionaryErrorHandler

type StringNSArrayICCameraItemDictionaryErrorHandler = func(*foundation.INSDictionary, error)

StringNSArrayICCameraItemDictionaryErrorHandler is the signature for a completion handler block.

Used by:

  • [ICCameraDevice.RequestDeleteFilesDeleteFailedCompletion]

type URLErrorHandler

type URLErrorHandler = func(*foundation.NSURL, error)

URLErrorHandler is the signature for a completion handler block.

Used by:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL