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; }
}
}