casa-bot/src/CasaBot/AutoScan/DependencyInjectionExtensions.cs

33 lines
1010 B
C#
Raw Normal View History

using AutoScan.Implementations;
using AutoScan.Interfaces;
using AutoScan.Listener;
using CasaBotApp;
using Microsoft.Extensions.DependencyInjection;
using Quartz;
namespace AutoScan;
public static class DependencyInjectionExtensions
{
public static void AddAutoScan(this IServiceCollection services)
{
services.AddSingleton<IDVRConnector, ShinobiConnector>();
services.AddSingleton<IDVRScanner, DVRScanner>();
services.AddSingleton<FfmpegWrapper>();
services.AddSingleton<AutoScanApp>();
2025-02-17 22:20:51 -03:00
services.AddQuartz();
services.AddTransient<IChainerListenerFactory, ChainerListenerFactory>();
2025-02-17 22:20:51 -03:00
// services.AddQuartzHostedService(q => q.WaitForJobsToComplete = true);
services.AddSingleton<IScheduler>(sp =>
{
var schedulerFactory = sp.GetRequiredService<ISchedulerFactory>();
var tsk = schedulerFactory.GetScheduler();
tsk.Wait();
return tsk.Result;
});
}
}