fully switch to mediator from events

This commit is contained in:
rootdarkarchon
2023-01-31 01:35:11 +01:00
parent 5e7beb8518
commit 41465c2d49
24 changed files with 166 additions and 239 deletions

View File

@@ -3,7 +3,6 @@ using MareSynchronos.Managers;
using MareSynchronos.MareConfiguration;
using MareSynchronos.Mediator;
using MareSynchronos.Utils;
using MareSynchronos.WebAPI;
namespace MareSynchronos.FileCache;
@@ -12,51 +11,26 @@ public class PeriodicFileScanner : IDisposable
private readonly IpcManager _ipcManager;
private readonly ConfigurationService _configService;
private readonly FileCacheManager _fileDbManager;
private readonly ApiController _apiController;
private readonly DalamudUtil _dalamudUtil;
private readonly MareMediator _mediator;
private CancellationTokenSource? _scanCancellationTokenSource;
private Task? _fileScannerTask = null;
public ConcurrentDictionary<string, int> haltScanLocks = new(StringComparer.Ordinal);
public PeriodicFileScanner(IpcManager ipcManager, ConfigurationService configService, FileCacheManager fileDbManager, ApiController apiController, DalamudUtil dalamudUtil, MareMediator mediator)
public PeriodicFileScanner(IpcManager ipcManager, ConfigurationService configService, FileCacheManager fileDbManager, MareMediator mediator)
{
Logger.Verbose("Creating " + nameof(PeriodicFileScanner));
_ipcManager = ipcManager;
_configService = configService;
_fileDbManager = fileDbManager;
_apiController = apiController;
_dalamudUtil = dalamudUtil;
_mediator = mediator;
_ipcManager.PenumbraInitialized += StartScan;
_apiController.DownloadStarted += ApiHaltScan;
_apiController.DownloadFinished += ApiResumeScan;
_mediator.Subscribe<ZoneSwitchStartMessage>(this, (_) => ZoneSwitchHaltScan());
_mediator.Subscribe<ZoneSwitchEndMessage>(this, (_) => ZoneSwitchResumeScan());
_mediator.Subscribe<PenumbraInitializedMessage>(this, (_) => StartScan());
_mediator.Subscribe<HaltScanMessage>(this, (msg) => HaltScan(((HaltScanMessage)msg).Source));
_mediator.Subscribe<ResumeScanMessage>(this, (msg) => ResumeScan(((ResumeScanMessage)msg).Source));
_mediator.Subscribe<SwitchToMainUiMessage>(this, (_) => StartScan());
}
private void ApiHaltScan()
{
HaltScan("Download");
}
private void ApiResumeScan()
{
ResumeScan("Download");
}
private void ZoneSwitchHaltScan()
{
HaltScan("Zoning/Gpose");
}
private void ZoneSwitchResumeScan()
{
ResumeScan("Zoning/Gpose");
}
public void ResetLocks()
{
haltScanLocks.Clear();
@@ -106,9 +80,6 @@ public class PeriodicFileScanner : IDisposable
{
Logger.Verbose("Disposing " + nameof(PeriodicFileScanner));
_ipcManager.PenumbraInitialized -= StartScan;
_apiController.DownloadStarted -= ApiHaltScan;
_apiController.DownloadFinished -= ApiResumeScan;
_scanCancellationTokenSource?.Cancel();
}