using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using SurveillanceClient.Core.Configuration;
using SurveillanceClient.Core.Services;
namespace SurveillanceClient.Core;
///
/// DI registration helpers for the SurveillanceClient Core services.
///
public static class ServiceCollectionExtensions
{
///
/// Registers and binds its options from
/// configuration. The client is a singleton because RSNet.dll
/// holds process-wide global state.
///
public static IServiceCollection AddSurveillanceClientCore(this IServiceCollection services)
{
services.AddOptions().BindConfiguration(RsNetOptions.SectionName);
services.AddOptions().BindConfiguration(DeviceOptions.SectionName);
services.TryAddSingleton();
return services;
}
}