Mercurial > pub > ImplabNet
diff Implab/IPromiseT.cs @ 66:790e8a997d30
Refactoring
author | cin |
---|---|
date | Thu, 14 Aug 2014 18:08:09 +0400 |
parents | |
children | d67b95eddaf4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab/IPromiseT.cs Thu Aug 14 18:08:09 2014 +0400 @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Implab +{ + public interface IPromise<T>: IPromise + { + + new T Join(); + new T Join(int timeout); + + IPromise<T> Then(ResultHandler<T> success, ErrorHandler error); + IPromise<T> Then(ResultHandler<T> success, ErrorHandler<T> error); + IPromise<T> Then(ResultHandler<T> success); + new IPromise<T> Error(ErrorHandler error); + IPromise<T> Error(ErrorHandler<T> error); + + IPromise<T2> Map<T2>(ResultMapper<T,T2> mapper, ErrorHandler error); + IPromise<T2> Map<T2>(ResultMapper<T, T2> mapper); + + IPromise<T2> Chain<T2>(ChainedOperation<T, T2> chained, ErrorHandler error); + IPromise<T2> Chain<T2>(ChainedOperation<T, T2> chained); + + new IPromise<T> Cancelled(Action handler); + new IPromise<T> Finally(Action handler); + new IPromise<T> Anyway(Action handler); + + } +}