mirror of
https://github.com/cyanfish/naps2.git
synced 2024-09-19 03:37:38 +03:00
Convert QueueItem to record
There is no special logic and the temporary file location could be removed from QueueItem.
This commit is contained in:
parent
758e1f2e01
commit
846794b170
@ -31,12 +31,12 @@ public class DownloadController
|
|||||||
|
|
||||||
public void QueueFile(DownloadInfo downloadInfo, Action<string> fileCallback)
|
public void QueueFile(DownloadInfo downloadInfo, Action<string> fileCallback)
|
||||||
{
|
{
|
||||||
_filesToDownload.Add(new QueueItem { DownloadInfo = downloadInfo, FileCallback = fileCallback });
|
_filesToDownload.Add(new QueueItem(downloadInfo, fileCallback));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void QueueFile(IExternalComponent component)
|
public void QueueFile(IExternalComponent component)
|
||||||
{
|
{
|
||||||
_filesToDownload.Add(new QueueItem { DownloadInfo = component.DownloadInfo, FileCallback = component.Install });
|
_filesToDownload.Add(new QueueItem(component.DownloadInfo, component.Install));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Stop()
|
public void Stop()
|
||||||
@ -136,9 +136,9 @@ public class DownloadController
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
fileToDownload.TempFolder = Path.Combine(_scanningContext.TempFolderPath, Path.GetRandomFileName());
|
string tempFolder = Path.Combine(_scanningContext.TempFolderPath, Path.GetRandomFileName());
|
||||||
Directory.CreateDirectory(fileToDownload.TempFolder);
|
Directory.CreateDirectory(tempFolder);
|
||||||
string p = Path.Combine(fileToDownload.TempFolder, fileToDownload.DownloadInfo.FileName);
|
string p = Path.Combine(tempFolder, fileToDownload.DownloadInfo.FileName);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
result.Position = 0;
|
result.Position = 0;
|
||||||
@ -151,7 +151,7 @@ public class DownloadController
|
|||||||
DownloadError?.Invoke(this, EventArgs.Empty);
|
DownloadError?.Invoke(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
FilesDownloaded++;
|
FilesDownloaded++;
|
||||||
Directory.Delete(fileToDownload.TempFolder, true);
|
Directory.Delete(tempFolder, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
DownloadComplete?.Invoke(this, EventArgs.Empty);
|
DownloadComplete?.Invoke(this, EventArgs.Empty);
|
||||||
@ -166,14 +166,7 @@ public class DownloadController
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
private class QueueItem
|
private record QueueItem(DownloadInfo DownloadInfo, Action<string> FileCallback);
|
||||||
{
|
|
||||||
public required DownloadInfo DownloadInfo { get; set; }
|
|
||||||
|
|
||||||
public string? TempFolder { get; set; }
|
|
||||||
|
|
||||||
public required Action<string> FileCallback { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task<bool> StartDownloadsAsync()
|
public async Task<bool> StartDownloadsAsync()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user