Files
rssotto-csharp-client/ModVersionChecker/VersionChecker.cs
Jose Conde 4c76f04d0e refactors
2025-09-30 15:57:56 +02:00

44 lines
1.3 KiB
C#

using ModVersionChecker.model;
using ModVersionChecker.managers.interfaces;
using ModVersionChecker.service.interfaces;
namespace ModVersionChecker
{
public class VersionChecker
{
private readonly IAppService _appService;
private readonly IConfigRepository _configManager;
private readonly IVersionService _versionService;
public event EventHandler<string>? OnFinished;
public VersionChecker(
IAppService appService,
IVersionService versionService,
IConfigRepository configManager
)
{
_configManager = configManager ?? throw new ArgumentNullException(nameof(configManager));
_versionService = versionService ?? throw new ArgumentNullException(nameof(versionService));
_appService = appService ?? throw new ArgumentNullException(nameof(appService));
}
public void StartVersionChecking()
{
var config = _configManager.Load() ?? new Config();
new Thread(() =>
{
while (true)
{
_appService.CheckAllApps();
Thread.Sleep(config.IntervalMinutes * 60 * 1000);
}
})
{ IsBackground = true }.Start();
}
}
}