using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Implab { public interface IPromise { /// /// Check whereather the promise has no more than one dependent promise. /// bool IsExclusive { get; } /// /// The current state of the promise. /// PromiseState State { get; } /// /// Tries to cancel the promise or the complete chain. /// /// Try to cancel the whole promise chain, the parent promise will be cancelled only if it has only one promise /// bool Cancel(bool dependencies); } }