wabbajack/Wabbajack.App.Wpf/StatusMessages/CriticalFailureIntervention.cs
2021-12-29 17:15:37 -07:00

32 lines
1.1 KiB
C#

using System.Threading.Tasks;
using Wabbajack.Common;
using Wabbajack.Interventions;
namespace Wabbajack
{
/// <summary>
/// This should probably be replaced with an error, but this is just to get messageboxes out of the .Lib library
/// </summary>
public class CriticalFailureIntervention : AErrorMessage
{
private TaskCompletionSource<ConfirmationIntervention.Choice> _source = new TaskCompletionSource<ConfirmationIntervention.Choice>();
public Task<ConfirmationIntervention.Choice> Task => _source.Task;
public CriticalFailureIntervention(string description, string title, bool exit = false)
{
ExtendedDescription = description;
ShortDescription = title;
ExitApplication = exit;
}
public override string ShortDescription { get; }
public override string ExtendedDescription { get; }
public bool ExitApplication { get; }
public void Cancel()
{
_source.SetResult(ConfirmationIntervention.Choice.Abort);
}
}
}