wabbajack/Wabbajack.Lib/StatusMessages/CriticalFailureIntervention.cs

32 lines
1.1 KiB
C#
Raw Normal View History

using System.Threading.Tasks;
using Wabbajack.Common;
2020-06-01 20:26:03 +00:00
using Wabbajack.Common.StatusFeed;
namespace Wabbajack.Lib
{
/// <summary>
/// This should probably be replaced with an error, but this is just to get messageboxes out of the .Lib library
/// </summary>
2020-06-01 20:26:03 +00:00
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; }
2020-06-01 20:26:03 +00:00
public void Cancel()
{
_source.SetResult(ConfirmationIntervention.Choice.Abort);
}
}
}