using Immense.RemoteControl.Server.Filters; using Immense.RemoteControl.Server.Services; using Immense.RemoteControl.Shared.Services; using Microsoft.Extensions.DependencyInjection; namespace Immense.RemoteControl.Server.Extensions; public static class ServiceCollectionExtensions { /// /// Adds remote control services to an ASP.NET Core web app. Remember to call /// /// after the WebApplication has been built. /// /// /// Provides methods for adding required service implementations. /// public static IServiceCollection AddRemoteControlServer( this IServiceCollection services, Action configure) { var builder = new RemoteControlServerBuilder(services); configure(builder); builder.Validate(); services .AddSignalR() .AddMessagePackProtocol(); services.AddHostedService(); services.AddHostedService(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddScoped(); return services; } }