using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Implab { public interface IPromise: ICancellable { /// /// Check whereather the promise has no more than one dependent promise. /// bool IsExclusive { get; } /// /// The current state of the promise. /// PromiseState State { get; } /// /// Registers handler for the case when the promise is cencelled. If the promise already cancelled the /// handler will be invoked immediatelly. /// /// The handler void HandleCancelled(Action handler); } }