Protocols
The following protocols are available globally.
-
A camera authentication context represents a request for authentication from the camera. Responses are submitted via this context object.
See moreDeclaration
Objective-C
@protocol CBLCameraAuthenticationContext <NSObject>
Swift
protocol CameraAuthenticationContext : NSObjectProtocol
-
A non-fatal connection warning.
See moreDeclaration
Objective-C
@protocol CBLCameraConnectionWarning <NSObject>
Swift
protocol ConnectionWarning : NSObjectProtocol
-
The catch-all protocol for a camera object in CascableCore. Functionality is broken down into sub-protocols:
CBLCameraCore
for core functionality, such as connection/disconnection, supported functionality, etc.CBLCameraLiveView
for operations involving live view streaming.CBLCameraFocusAndShutter
for operations involving shooting images.CBLCameraProperties
for operations involving getting and setting camera settings/properties.CBLCameraFileSystem
for operations involving accessing the camera’s file system.CBLCameraVideoRecording
for operations involving video recording.
Declaration
Objective-C
@protocol CBLCamera <NSObject, CBLCameraCore, CBLCameraLiveView, CBLCameraProperties, CBLCameraFileSystem, CBLCameraFocusAndShutter, CBLCameraVideoRecording>
Swift
protocol Camera : CameraCore, CameraFileSystem, CameraFocusAndShutter, CameraLiveView, CameraProperties, CameraVideoRecording
-
Camera connection, disconnection and status methods.
See moreDeclaration
Objective-C
@protocol CBLCameraCore <NSObject>
Swift
protocol CameraCore : NSObjectProtocol
-
Camera live view methods.
See moreDeclaration
Objective-C
@protocol CBLCameraLiveView <NSObject>
Swift
protocol CameraLiveView : NSObjectProtocol
-
Camera property methods.
See moreDeclaration
Objective-C
@protocol CBLCameraProperties <NSObject>
Swift
protocol CameraProperties : NSObjectProtocol
-
Camera filesystem methods.
See moreDeclaration
Objective-C
@protocol CBLCameraFileSystem <NSObject>
Swift
protocol CameraFileSystem : NSObjectProtocol
-
Camera focus and shutter methods.
See moreDeclaration
Objective-C
@protocol CBLCameraFocusAndShutter <NSObject>
Swift
protocol CameraFocusAndShutter : NSObjectProtocol
-
A video timer value. Only valid during video recording.
See moreDeclaration
Objective-C
@protocol CBLVideoTimerValue <NSObject, NSCopying>
Swift
protocol VideoTimerValue : NSCopying, NSObjectProtocol
-
Video recording methods.
See moreDeclaration
Objective-C
@protocol CBLCameraVideoRecording <NSObject>
Swift
protocol CameraVideoRecording : NSObjectProtocol
-
Camera discovery delegate methods.
See moreDeclaration
Objective-C
@protocol CBLCameraDiscoveryDelegate <NSObject>
Swift
protocol CameraDiscoveryDelegate : NSObjectProtocol
-
The discovery service’s delegate protocol. Typically, this should not be interfered with.
See moreDeclaration
Objective-C
@protocol CBLCameraDiscoveryServiceDelegate <NSObject>
Swift
protocol CameraDiscoveryServiceDelegate : NSObjectProtocol
-
A camera discovery service represents a camera that has been found on the network, but has not been connected to. A meta-camera, if you will.
See moreDeclaration
Objective-C
@protocol CBLCameraDiscoveryService <NSObject>
Swift
protocol CameraDiscoveryService : NSObjectProtocol
-
A camera-initiated transfer is a request from a camera to transfer an image file (or at least, a representation of one such as a preview) to the connected host. This typically happens soon after a shot is taken, and can allow the previewing and transferring of images even if the camera currently doesn’t allow access to its storage.
Camera-initiated transfers can be time-sensitive as the camera moves on to newer images or flushes buffers — they should be dealt with expediently.
In some cases, the camera-initiated transfer to the host may be the only destination for an image. Commonly referred to as “tethered shooting” (or at least a variant of it), the camera might not attempt (or not be able to) save the image to its own storage. If this is the case, not correctly handling a camera-initiated transfer will case data loss. Check the
See more-isOnlyDestinationForImage
property — if that returnsYES
, not transferring and saving the original representation of the image will cause it to be lost.Declaration
Objective-C
@protocol CBLCameraInitiatedTransferRequest <NSObject>
Swift
protocol CameraInitiatedTransferRequest : NSObjectProtocol
-
The result of a camera-initiated transfer.
Result objects are stored entirely locally, and as such are not under the time pressure that the intial camera- initiated transfer object is. However, they can be fairly resource heavy (especially when the transfer is of a RAW image) so it’s recommended that they are dealt with reasonably quickly.
How this object manages its resources is an implementation detail, and any buffers of cache files it creates will be cleaned up when the object is deallocated. To take ownership of the transfer result, use the appropriate methods to extract representations into RAM or to disk.
See moreDeclaration
Objective-C
@protocol CBLCameraInitiatedTransferResult <NSObject>
Swift
protocol CameraInitiatedTransferResult : NSObjectProtocol
-
Represents an autofocus area in a camera’s focus aspect. Typically rendered as a rectangle on top of the live view image.
See moreDeclaration
Objective-C
@protocol CBLCameraLiveViewAFArea <NSObject>
Swift
protocol LiveViewAFArea : NSObjectProtocol
-
Represents a single frame of a streaming live view image, along with any associated metadata.
See moreDeclaration
Objective-C
@protocol CBLCameraLiveViewFrame <NSObject, NSCopying>
Swift
protocol LiveViewFrame : NSCopying, NSObjectProtocol
-
Use the
CBLCameraManualDiscovery
object when you need to connect to a camera in situations where using automatic discovery protocols is neither available or desired. Typically, this is paired with user interface asking the user for the IP address and manufacturer of their camera.Note that manual discovery is entirely separate from the automatic discovery provided by
See moreCBLCameraDiscovery
.Declaration
Objective-C
@protocol CBLCameraManualDiscovery <NSObject>
Swift
protocol CameraManualDiscovery : NSObjectProtocol
-
An object for managing property value change notifications. When you add an observer to a property, store the returned token somewhere in order to keep the observation alive. To remove the observation, you can simply remove all strong references to its token, or explicitly call
See moreinvalidate
on it.Declaration
Objective-C
@protocol CBLCameraPropertyObservation <NSObject>
Swift
protocol CameraPropertyObservation : NSObjectProtocol
-
An object representing the values for a property on the camera.
See moreDeclaration
Objective-C
@protocol CBLCameraProperty <NSObject>
Swift
protocol CameraProperty : NSObjectProtocol
-
A property that exposes its values as universal exposure values.
See moreDeclaration
Objective-C
@protocol CBLExposureProperty <CBLCameraProperty>
Swift
protocol ExposureProperty : CameraProperty
-
A property that exposes its values as universal video format description values.
See moreDeclaration
Objective-C
@protocol CBLVideoFormatProperty <CBLCameraProperty>
Swift
protocol VideoFormatProperty : CameraProperty
-
A property that exposes its values as universal live view zoom level values.
See moreDeclaration
Objective-C
@protocol CBLLiveViewZoomLevelProperty <CBLCameraProperty>
Swift
protocol LiveViewZoomLevelProperty : CameraProperty
-
A property value. This could either be the current value of a property, or something in the list of values that can be set.
See moreDeclaration
Objective-C
@protocol CBLPropertyValue <NSObject>
Swift
protocol PropertyValue : NSObjectProtocol
-
A property value that exposes its values as universal exposure values.
See moreDeclaration
Objective-C
@protocol CBLExposurePropertyValue <CBLPropertyValue>
Swift
protocol ExposurePropertyValue : PropertyValue
-
A property value that represents a video format description.
See moreDeclaration
Objective-C
@protocol CBLVideoFormatPropertyValue <CBLPropertyValue>
Swift
protocol VideoFormatPropertyValue : PropertyValue
-
A property value that represents a live view zoom level.
See moreDeclaration
Objective-C
@protocol CBLLiveViewZoomLevelPropertyValue <CBLPropertyValue>
Swift
protocol LiveViewZoomLevelPropertyValue : PropertyValue
-
This protocol defines the protocol expected by CascableCore when loading your plugin via the information found in the plugin’s Info.plist keys.
See moreDeclaration
Objective-C
@protocol CBLCorePluginEntryPoint <NSObject>
Swift
protocol PluginEntryPoint : NSObjectProtocol
-
Implement the CBLCoreCameraDiscoveryProvider protocol in order to provide custom cameras and camera discovery to CascableCore. You can then register your camera provider with CascableCore in the plugin entrypoint.
See moreDeclaration
Objective-C
@protocol CBLCoreCameraDiscoveryProvider <NSObject>
Swift
protocol CameraDiscoveryProvider : NSObjectProtocol
-
Implement the CBLCoreCameraManualDiscoveryProvider protocol in order to provide direct connections to your cameras via CascableCore based on user input (i.e., “connect to the camera at 192.168.1.46”). You can then register your manual discovery provider with CascableCore in the plugin entrypoint.
See moreDeclaration
Objective-C
@protocol CBLCoreCameraManualDiscoveryProvider <NSObject>
Swift
protocol CameraManualDiscoveryProvider : NSObjectProtocol
-
Methods to register your plugin with CascableCore.
See moreDeclaration
Objective-C
@protocol CBLCorePluginRegistration <NSObject>
Swift
protocol PluginRegistration : NSObjectProtocol
-
Methods to deliver camera discovery changes to CascableCore.
See moreDeclaration
Objective-C
@protocol CBLCoreCameraDiscoveryProviderDelegate <NSObject>
Swift
protocol CameraDiscoveryProviderDelegate : NSObjectProtocol
-
Information about a connected camera.
See moreDeclaration
Objective-C
@protocol CBLDeviceInfo <NSObject>
Swift
protocol DeviceInfo : NSObjectProtocol
-
Represents a file storage container in a camera, such as an SD card.
See moreDeclaration
Objective-C
@protocol CBLFileStorage <NSObject>
Swift
protocol FileStorage : NSObjectProtocol
-
Represents a folder on a camera’s storage device.
See moreDeclaration
Objective-C
@protocol CBLFileSystemFolderItem <NSObject, CBLFileSystemItem>
Swift
protocol FileSystemFolderItem : NSObjectProtocol, CBLFileSystemItem
-
An object containing video-specific metadata.
See moreDeclaration
Objective-C
@protocol CBLVideoMetadata <NSObject>
Swift
protocol VideoMetadata : NSObjectProtocol
-
A filesystem item represents a file or folder on the camera’s storage.
See moreDeclaration
Objective-C
@protocol CBLFileSystemItem <NSObject>
Swift
protocol FileSystemItem : NSObjectProtocol
-
Represents an autofocus state of the camera.
See moreDeclaration
Objective-C
@protocol CBLFocusInfo <NSObject>
Swift
protocol FocusInfo : NSObjectProtocol
-
Represents an individual focus point.
See moreDeclaration
Objective-C
@protocol CBLFocusPoint <NSObject>
Swift
protocol FocusPoint : NSObjectProtocol