Type Definitions
The following type definitions are available globally.
-
The block callback signature when the camera requests authentication.
Declaration
Objective-C
typedef void (^CBLCameraAuthenticationRequestBlock)( id<CBLCameraAuthenticationContext> _Nonnull)
Swift
typealias CameraAuthenticationRequestBlock = (any CameraAuthenticationContext) -> Void
Parameters
context
The authentication context object for inspecting the request and delivering a response.
-
The block callback signature when a camera’s authentication request has been resolved and authentication UI can be hidden.
Declaration
Objective-C
typedef void (^CBLCameraAuthenticationResolvedBlock)(void)
Swift
typealias CameraAuthenticationResolvedBlock = () -> Void
-
The block callback signature when camera connection completes or fails.
Declaration
Objective-C
typedef void (^CBLCameraConnectionCompleteBlock)( NSError *_Nullable, NSArray<id<CBLCameraConnectionWarning>> *_Nullable)
Swift
typealias ConnectionCompleteCallback = ((any Error)?, [any ConnectionWarning]?) -> Void
Parameters
error
The error that occurred, if any.
warnings
Any non-fatal connection warnings.
-
The block callback signature when a camera has a new camera-initiated transfer request. See
CBLCameraInitiatedTransferRequest
for details.Declaration
Objective-C
typedef void (^CBLCameraInitiatedTransferRequestHandler)( id<CBLCameraInitiatedTransferRequest> _Nonnull)
Swift
typealias CameraInitiatedTransferRequestHandler = (any CameraInitiatedTransferRequest) -> Void
-
An observer token. Required to unregister an oberver.
Declaration
Objective-C
typedef NSString CBLCameraObserverToken
-
The live view frame delivery callback.
Declaration
Objective-C
typedef void (^CBLCameraLiveViewFrameDelivery)( id<CBLCameraLiveViewFrame> _Nonnull, dispatch_block_t _Nonnull)
Swift
typealias LiveViewFrameDelivery = (any LiveViewFrame, @escaping () -> Void) -> Void
Parameters
frame
A live view frame from the camera.
completionHandler
A completion handler to inform the camera that you’re ready for the next frame. This MUST be called, and can be called from any thread.
-
The handler for the live view stream ending.
Declaration
Objective-C
typedef void (^CBLCameraLiveViewTerminationHandler)( CBLCameraLiveViewTerminationReason, NSError *_Nullable)
Swift
typealias LiveViewTerminationHandler = (LiveViewTerminationReason, (any Error)?) -> Void
Parameters
reason
The reason the live view stream ended.
error
The error that caused the failure, if
reason
isCBLCameraLiveViewTerminationReasonFailed
. -
The block callback signature when the discovery object changes the list of available cameras.
-
The block callback signature when a service has completed or failed resolving.
Declaration
Objective-C
typedef void (^CBLCameraDiscoveryServiceResolveCallback)( id<CBLCameraDiscoveryService> _Nonnull, NSError *_Nullable)
Swift
typealias CameraDiscoveryServiceResolveCallback = (any CameraDiscoveryService, (any Error)?) -> Void
Parameters
service
The service that completed or failed resolving.
error
If the operation failed, an error object describing the operation.
-
The block callback signature when a service has completed or failed resolving metadata.
Declaration
Objective-C
typedef void (^CBLCameraDiscoveryMetadataResolveCallback)( id<CBLCameraDiscoveryService> _Nonnull, NSError *_Nullable)
Swift
typealias CameraDiscoveryMetadataResolveCallback = (any CameraDiscoveryService, (any Error)?) -> Void
Parameters
service
The service that completed or failed resolving.
error
If the operation failed, an error object describing the operation.
-
The block callback signature for handling the result of a request to execute a camera-initiated transfer, containing either the result of the transfer, or an error describing the failure.
Declaration
Objective-C
typedef void (^CBLCameraInitiatedTransferCompletionHandler)( id<CBLCameraInitiatedTransferResult> _Nullable, NSError *_Nullable)
Swift
typealias CameraInitiatedTransferCompletionHandler = ((any CameraInitiatedTransferResult)?, (any Error)?) -> Void
-
The callback block signature that is called when a manual camera lookup succeeds or fails.
Declaration
Objective-C
typedef void (^CBLCameraCreationOperationCallback)(id<CBLCamera> _Nullable, NSError *_Nullable)
Swift
typealias CameraCreationOperationCallback = ((any CBLCamera)?, (any Error)?) -> Void
Parameters
camera
The camera that was created, if the operation was successful.
error
An error, if the operation failed.
-
A property common value. Values will be from one of the appropriate common value enums as defined below.
Declaration
Objective-C
typedef NSInteger CBLPropertyCommonValue
Swift
typealias PropertyCommonValue = Int
-
The block callback signature for property observations.
Declaration
Objective-C
typedef void (^CBLCameraPropertyObservationCallback)( id<CBLCameraProperty> _Nonnull, CBLPropertyChangeType)
Swift
typealias CameraPropertyObservationCallback = (any CameraProperty, PropertyChangeType) -> Void
Parameters
property
The property that fired the change.
type
The change type(s) that occurred. See
CBLPropertyChangeType
for details. -
The block callback signature for an async operation that can fail with an error.
Declaration
Objective-C
typedef void (^CBLErrorableOperationCallback)(NSError *_Nullable)
Swift
typealias ErrorableOperationCallback = ((any Error)?) -> Void
Parameters
error
The error that occurred, if any. If
nil
, the operation succeeded. -
A value representing a camera family, usually grouped by camera manufacturer.
Declaration
Objective-C
typedef NSInteger CBLCameraFamily
Swift
typealias CameraFamily = Int
-
A filesystem observation block.
Declaration
Objective-C
typedef void (^CBLFileStorageFilesModifiedObserver)( id<CBLFileStorage> _Nonnull, id<CBLFileSystemFolderItem> _Nullable, CBLFileSystemModificationOperation, NSArray<id<CBLFileSystemItem>> *_Nullable)
Swift
typealias FileStorageFilesModifiedObserver = (any FileStorage, (any FileSystemFolderItem)?, FileSystemModificationOperation, [any CBLFileSystemItem]?) -> Void
Parameters
storage
The filesystem storage instance that the change occurred on.
modifiedFolder
The folder in which the change occurred.
operation
The operation that occurred.
affectedItems
The items that were added or removed.
-
A filesystem observer token. Required to unregister an oberver.
Declaration
Objective-C
typedef NSString CBLFileStorageObserverToken
-
The callback block preflight signature for fetching image previews. This will be called just before an image preview is about to be fetched.
This can be useful when implementing (example) a scrolling list of thumbnails — if the user is scrolling quickly, you can cancel requests for thumbnails that are no longer onscreen.
Declaration
Objective-C
typedef BOOL (^CBLPreviewImagePreflight)(id<CBLFileSystemItem> _Nonnull)
Swift
typealias PreviewImagePreflight = (any FileSystemItem) -> Bool
Parameters
item
The filesystem item the preview will be fetched for.
Return Value
Return
YES
to continue to fetch the preview, otherwiseNO
to cancel. -
The callback block signature for a completed or failed image previews.
Declaration
Objective-C
typedef void (^CBLPreviewImageDelivery)(id<CBLFileSystemItem> _Nonnull, NSError *_Nullable, NSData *_Nullable)
Swift
typealias PreviewImageDelivery = (any FileSystemItem, (any Error)?, Data?) -> Void
Parameters
item
The filesystem item the preview is for.
error
If the operation failed, an error object that describes the failure.
imageData
If the operation succeeded, JPEG data for the preview.
-
The callback block preflight signature for fetching image EXIF metadata. This will be called just before the metadata is about to be fetched.
This can be useful when implementing (example) a scrolling list of images — if the user is scrolling quickly, you can cancel metadata requests for images that are no longer onscreen.
Declaration
Objective-C
typedef BOOL (^CBLEXIFPreflight)(id<CBLFileSystemItem> _Nonnull)
Swift
typealias EXIFPreflight = (any FileSystemItem) -> Bool
Parameters
item
The filesystem item the metadata will be fetched for.
Return Value
Return
YES
to continue to fetch the metadata, otherwiseNO
to cancel. -
The callback block signature for a completed or failed image metadata requests.
Declaration
Objective-C
typedef void (^CBLEXIFDelivery)(id<CBLFileSystemItem> _Nonnull, NSError *_Nullable, NSDictionary<NSString *, id> *_Nullable)
Swift
typealias EXIFDelivery = (any FileSystemItem, (any Error)?, [String : Any]?) -> Void
Parameters
item
The filesystem item the metadata is for.
error
If the operation failed, an error object that describes the failure.
imageMetadata
If the operation succeeded, ImageIO-compatible metadata.
-
The callback block preflight signature for fetching video metadata. This will be called just before the metadata is about to be fetched.
This can be useful when implementing (example) a scrolling list of thumbnails — if the user is scrolling quickly, you can cancel metadata requests for images that are no longer onscreen.
Declaration
Objective-C
typedef BOOL (^CBLVideoMetadataPreflight)(id<CBLFileSystemItem> _Nonnull)
Swift
typealias VideoMetadataPreflight = (any FileSystemItem) -> Bool
Parameters
item
The filesystem item the metadata will be fetched for.
Return Value
Return
YES
to continue to fetch the metadata, otherwiseNO
to cancel. -
The callback block signature for a completed or failed video metadata requests.
Declaration
Objective-C
typedef void (^CBLVideoMetadataDelivery)(id<CBLFileSystemItem> _Nonnull, NSError *_Nullable, id<CBLVideoMetadata> _Nullable)
Swift
typealias VideoMetadataDelivery = (any FileSystemItem, (any Error)?, (any VideoMetadata)?) -> Void
Parameters
item
The filesystem item the metadata is for.
error
If the operation failed, an error object that describes the failure.
videoMetadata
If the operation succeeded, the metadata.
-
The callback block preflight signature for streaming files from the camera. This will be called just before the stream is about to begin.
Declaration
Objective-C
typedef id _Nullable (^CBLFileStreamPreflight)(id<CBLFileSystemItem> _Nonnull)
Swift
typealias FileStreamPreflight = (any FileSystemItem) -> Any?
Parameters
item
The filesystem item that will be streamed.
Return Value
Return any object to use as a “context” for the operation, including
nil
. This object will be passed to chunk delivery callbacks. For example, you may want to set up a file handle or data storage object here for chunks to be written to later. -
The callback block signature for data chunk delivery when streaming files from the camera. This will be called multiple times in sequence once an operation starts.
IMPORTANT: In some circumstances, this delivery block may be invoked with an empty/zero-length chunk of data. Make sure your code handles this case properly. Such a delivery should not be treated as an error, and you should return the desired instruction.
Declaration
Objective-C
typedef CBLFileStreamInstruction (^CBLFileStreamChunkDelivery)( id<CBLFileSystemItem> _Nonnull, NSData *_Nonnull, id _Nullable)
Swift
typealias FileStreamChunkDelivery = (any FileSystemItem, Data, Any?) -> FileStreamInstruction
Parameters
item
The filesystem item being streamed.
chunk
The chunk of file data delivered from the camera.
context
The context object returned from the streaming preflight block.
Return Value
Return
CBLFileStreamInstructionContinue
to continue the operation and get more chunks, orCBLFileStreamInstructionCancel
to cancel the operation. -
The callback block signature that will be called when a file streaming operation completes for fails.
Declaration
Objective-C
typedef void (^CBLFileStreamCompletion)(id<CBLFileSystemItem> _Nonnull, NSError *_Nullable, id _Nullable)
Swift
typealias FileStreamCompletion = (any FileSystemItem, (any Error)?, Any?) -> Void
Parameters
item
The filesystem item being streamed.
error
If the operation failed (including being cancelled), an error describing the failure.
context
The context object returned from the streaming preflight block.