33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using OF_DL.Gui.ViewModels;
|
|
using OF_DL.Gui.Views;
|
|
using OF_DL.Services;
|
|
using Serilog.Core;
|
|
|
|
namespace OF_DL.Gui.Services;
|
|
|
|
internal static class ServiceCollectionFactory
|
|
{
|
|
public static IServiceCollection Create()
|
|
{
|
|
IServiceCollection services = new ServiceCollection();
|
|
|
|
services.AddSingleton<DownloadErrorLogTracker>();
|
|
services.AddSingleton<ILogEventSink, DownloadErrorTrackingSink>();
|
|
services.AddSingleton<ILoggingService, LoggingService>();
|
|
services.AddSingleton<IConfigService, ConfigService>();
|
|
services.AddSingleton<IAuthService, AuthService>();
|
|
services.AddSingleton<IApiService, ApiService>();
|
|
services.AddSingleton<IDbService, DbService>();
|
|
services.AddSingleton<IDownloadService, DownloadService>();
|
|
services.AddSingleton<IFileNameService, FileNameService>();
|
|
services.AddSingleton<IStartupService, StartupService>();
|
|
services.AddSingleton<IDownloadOrchestrationService, DownloadOrchestrationService>();
|
|
|
|
services.AddSingleton<MainWindowViewModel>();
|
|
services.AddSingleton<MainWindow>();
|
|
|
|
return services;
|
|
}
|
|
}
|