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