using FileTime.Core.ContentAccess; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; namespace FileTime.Providers.Local; public static class Startup { public static IServiceCollection AddLocalProviderServices(this IServiceCollection serviceCollection) { serviceCollection.TryAddSingleton(); serviceCollection.TryAddSingleton(sp => sp.GetRequiredService()); serviceCollection.TryAddSingleton, LocalItemCreator>(); serviceCollection.TryAddSingleton>(sp => sp.GetRequiredService>()); serviceCollection.TryAddSingleton, LocalItemDeleter>(); serviceCollection.TryAddSingleton>(sp => sp.GetRequiredService>()); serviceCollection.TryAddSingleton, LocalItemMover>(); serviceCollection.TryAddSingleton>(sp => sp.GetRequiredService>()); serviceCollection.TryAddSingleton, LocalContentReaderFactory>(); serviceCollection.TryAddSingleton>(sp => sp.GetRequiredService>()); serviceCollection.TryAddSingleton, LocalContentWriterFactory>(); serviceCollection.TryAddSingleton>(sp => sp.GetRequiredService>()); serviceCollection.TryAddSingleton(); return serviceCollection; } }