Table of Contents

Class SdkServiceCollectionExtensions

Namespace
Microsoft.Extensions.DependencyInjection
Assembly
Huddly.Sdk.Extensions.dll

Extension methods to configure an IServiceCollection for ISdk.

public static class SdkServiceCollectionExtensions
Inheritance
SdkServiceCollectionExtensions
Inherited Members

Methods

AddHcsClient(IServiceCollection, Action<HcsClientOptions>?)

Add the Huddly Camera Service client to the service collection.

To use the HCS client you inject the IHcsClientFactory service, then use the service to verify the availability of the channel needed to create the HcsClient before you proceed with its creation.

public static IServiceCollection AddHcsClient(this IServiceCollection services, Action<HcsClientOptions>? configure = null)

Parameters

services IServiceCollection
configure Action<HcsClientOptions>

Returns

IServiceCollection

AddHuddlySdk(IServiceCollection, Action<SdkBuilder>?)

Add the Huddly SDK to the service collection.

public static IServiceCollection AddHuddlySdk(this IServiceCollection services, Action<SdkBuilder>? configure = null)

Parameters

services IServiceCollection

A collection of service descriptors.

configure Action<SdkBuilder>

SDK configuration, e.g., c => c.UseIpDeviceMonitor().UseUsbDeviceMonitor()

Returns

IServiceCollection

UseIpDeviceMonitor(SdkBuilder, Action<IpDeviceMonitorOptions>?)

Enable WS-discovery monitor

public static SdkBuilder UseIpDeviceMonitor(this SdkBuilder builder, Action<IpDeviceMonitorOptions>? configureOptions = null)

Parameters

builder SdkBuilder
configureOptions Action<IpDeviceMonitorOptions>

Returns

SdkBuilder

UseUsbAutoProxyClient(UsbDeviceMonitorBuilder, Action<SocketGrpcClientOptions>?)

Enable USB devices monitor with USB proxy client if available, otherwise use native USB client.

public static UsbDeviceMonitorBuilder UseUsbAutoProxyClient(this UsbDeviceMonitorBuilder builder, Action<SocketGrpcClientOptions>? configureProxy = null)

Parameters

builder UsbDeviceMonitorBuilder
configureProxy Action<SocketGrpcClientOptions>

Returns

UsbDeviceMonitorBuilder

UseUsbDeviceMonitor(SdkBuilder, Action<UsbDeviceMonitorBuilder>?)

Enable USB devices monitor.
UseUsbAutoProxyClient(UsbDeviceMonitorBuilder, Action<SocketGrpcClientOptions>?) is used as a default USB client.

To configure a USB monitor, use UseUsbAutoProxyClient(UsbDeviceMonitorBuilder, Action<SocketGrpcClientOptions>?).

Example use:

services.AddHuddlySdk(configure => configure.UseUsbDeviceMonitor());
or this:
services.AddHuddlySdk(
    configure =>
    {
        configure.UseUsbDeviceMonitor(m => m.UseUsbAutoProxyClient());
    }
);

public static SdkBuilder UseUsbDeviceMonitor(this SdkBuilder builder, Action<UsbDeviceMonitorBuilder>? configureMonitor = null)

Parameters

builder SdkBuilder
configureMonitor Action<UsbDeviceMonitorBuilder>

Returns

SdkBuilder