Skip to content

@camera.ui/sdk / plugin / DiscoveryProvider

Interface: DiscoveryProvider

Defined in: plugin/interfaces.ts:162

Implemented by plugins that can scan the network for new cameras and adopt them. Only plugins with a camera-controlling role (CameraController or CameraAndSensorProvider) are queried for discovery.

Methods

onAdoptCamera()

onAdoptCamera(camera, cameraSettings): Promise<CameraConfig>

Defined in: plugin/interfaces.ts:194

Probe the device with the user-provided settings and return the camera configuration the host should persist. The host then creates the camera and invokes onCameraAdded() on the plugin.

Parameters

camera

DiscoveredCamera

The discovered camera being adopted.

cameraSettings

Record<string, unknown>

Values entered into the adoption form.

Returns

Promise<CameraConfig>

Final camera configuration for the host to persist.


onDiscoverCameras()

onDiscoverCameras(): Promise<DiscoveredCamera[]>

Defined in: plugin/interfaces.ts:170

Scan the network and return the cameras the plugin can offer for adoption. Called by the host on demand (UI rescan button) or on a polling schedule.

Returns

Promise<DiscoveredCamera[]>

Cameras currently discoverable by this plugin.


onGetCameraSettings()

onGetCameraSettings(camera): Promise<JsonSchemaWithoutCallbacks[]>

Defined in: plugin/interfaces.ts:181

Return a JSON schema describing the form fields (credentials, transport options, ...) the user must fill in to adopt this specific discovered camera.

Parameters

camera

DiscoveredCamera

The discovered camera the user is about to adopt.

Returns

Promise<JsonSchemaWithoutCallbacks[]>

Schema for the adoption form.