using System; using System.Net.Http; using System.Threading.Tasks; using Wabbajack.DTOs.DownloadStates; namespace Wabbajack { public class ManuallyDownloadFile : AUserIntervention { public Manual State { get; } public override string ShortDescription { get; } = string.Empty; public override string ExtendedDescription { get; } = string.Empty; private readonly TaskCompletionSource<(Uri, HttpResponseMessage)> _tcs = new (); public Task<(Uri, HttpResponseMessage)> Task => _tcs.Task; private ManuallyDownloadFile(Manual state) { State = state; } public static async Task Create(Manual state) { var result = new ManuallyDownloadFile(state); return result; } public override void Cancel() { _tcs.SetCanceled(); } public void Resume(Uri s, HttpResponseMessage client) { _tcs.SetResult((s, client)); } } }