using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ReactiveUI; using Wabbajack.Common.StatusFeed; namespace Wabbajack.Common { /// /// Defines a message that requires user interaction. The user must perform some action /// or make a choice. /// public interface IUserIntervention : IStatusMessage, IReactiveObject { /// /// The user didn't make a choice, so this action should be aborted /// void Cancel(); /// /// Whether the interaction has been handled and no longer needs attention /// Note: This needs to be Reactive so that users can monitor its status /// bool Handled { get; } /// /// WorkQueue job ID that is blocking on this intervention /// int CpuID { get; } } }