Protocols

The following protocols are available globally.

Live View

  • Camera live view methods.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraLiveView <NSObject>

    Swift

    protocol CameraLiveView : NSObjectProtocol
  • Camera property methods.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraProperties <NSObject>

    Swift

    protocol CameraProperties : NSObjectProtocol
  • Camera filesystem methods.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraFileSystem <NSObject>

    Swift

    protocol CameraFileSystem : NSObjectProtocol
  • Camera focus and shutter methods.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraFocusAndShutter <NSObject>

    Swift

    protocol CameraFocusAndShutter : NSObjectProtocol
  • A video timer value. Only valid during video recording.

    See more

    Declaration

    Objective-C

    @protocol CBLVideoTimerValue <NSObject, NSCopying>

    Swift

    protocol VideoTimerValue : NSCopying, NSObjectProtocol
  • Video recording methods.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraVideoRecording <NSObject>

    Swift

    protocol CameraVideoRecording : NSObjectProtocol
  • Camera discovery delegate methods.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraDiscoveryDelegate <NSObject>

    Swift

    protocol CameraDiscoveryDelegate : NSObjectProtocol
  • The discovery service’s delegate protocol. Typically, this should not be interfered with.

    See more

    Declaration

    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 more

    Declaration

    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 -isOnlyDestinationForImage property — if that returns YES, not transferring and saving the original representation of the image will cause it to be lost.

    See more

    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 more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    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 CBLCameraDiscovery.

    See more

    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 invalidate on it.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraPropertyObservation <NSObject>

    Swift

    protocol CameraPropertyObservation : NSObjectProtocol
  • An object representing the values for a property on the camera.

    See more

    Declaration

    Objective-C

    @protocol CBLCameraProperty <NSObject>

    Swift

    protocol CameraProperty : NSObjectProtocol
  • A property that exposes its values as universal exposure values.

    See more

    Declaration

    Objective-C

    @protocol CBLExposureProperty <CBLCameraProperty>

    Swift

    protocol ExposureProperty : CameraProperty
  • A property that exposes its values as universal video format description values.

    See more

    Declaration

    Objective-C

    @protocol CBLVideoFormatProperty <CBLCameraProperty>

    Swift

    protocol VideoFormatProperty : CameraProperty
  • A property that exposes its values as universal live view zoom level values.

    See more

    Declaration

    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 more

    Declaration

    Objective-C

    @protocol CBLPropertyValue <NSObject>

    Swift

    protocol PropertyValue : NSObjectProtocol
  • A property value that exposes its values as universal exposure values.

    See more

    Declaration

    Objective-C

    @protocol CBLExposurePropertyValue <CBLPropertyValue>

    Swift

    protocol ExposurePropertyValue : PropertyValue
  • A property value that represents a video format description.

    See more

    Declaration

    Objective-C

    @protocol CBLVideoFormatPropertyValue <CBLPropertyValue>

    Swift

    protocol VideoFormatPropertyValue : PropertyValue
  • A property value that represents a live view zoom level.

    See more

    Declaration

    Objective-C

    @protocol CBLLiveViewZoomLevelPropertyValue <CBLPropertyValue>

    Swift

    protocol LiveViewZoomLevelPropertyValue : PropertyValue

Protocols Implemented By Plugin

  • This protocol defines the protocol expected by CascableCore when loading your plugin via the information found in the plugin’s Info.plist keys.

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Objective-C

    @protocol CBLCoreCameraManualDiscoveryProvider <NSObject>

    Swift

    protocol CameraManualDiscoveryProvider : NSObjectProtocol

Protocols Implemented By CascableCore

  • Methods to register your plugin with CascableCore.

    See more

    Declaration

    Objective-C

    @protocol CBLCorePluginRegistration <NSObject>

    Swift

    protocol PluginRegistration : NSObjectProtocol
  • Methods to deliver camera discovery changes to CascableCore.

    See more

    Declaration

    Objective-C

    @protocol CBLCoreCameraDiscoveryProviderDelegate <NSObject>

    Swift

    protocol CameraDiscoveryProviderDelegate : NSObjectProtocol
  • Information about a connected camera.

    See more

    Declaration

    Objective-C

    @protocol CBLDeviceInfo <NSObject>

    Swift

    protocol DeviceInfo : NSObjectProtocol
  • Represents a file storage container in a camera, such as an SD card.

    See more

    Declaration

    Objective-C

    @protocol CBLFileStorage <NSObject>

    Swift

    protocol FileStorage : NSObjectProtocol
  • Represents a folder on a camera’s storage device.

    See more

    Declaration

    Objective-C

    @protocol CBLFileSystemFolderItem <NSObject, CBLFileSystemItem>

    Swift

    protocol FileSystemFolderItem : NSObjectProtocol, CBLFileSystemItem
  • An object containing video-specific metadata.

    See more

    Declaration

    Objective-C

    @protocol CBLVideoMetadata <NSObject>

    Swift

    protocol VideoMetadata : NSObjectProtocol
  • A filesystem item represents a file or folder on the camera’s storage.

    See more

    Declaration

    Objective-C

    @protocol CBLFileSystemItem <NSObject>

    Swift

    protocol FileSystemItem : NSObjectProtocol
  • Represents an autofocus state of the camera.

    See more

    Declaration

    Objective-C

    @protocol CBLFocusInfo <NSObject>

    Swift

    protocol FocusInfo : NSObjectProtocol
  • Represents an individual focus point.

    See more

    Declaration

    Objective-C

    @protocol CBLFocusPoint <NSObject>

    Swift

    protocol FocusPoint : NSObjectProtocol