annotate Implab/IPromiseT.cs @ 72:d67b95eddaf4 v2

promises refactoring
author cin
date Thu, 04 Sep 2014 18:47:12 +0400
parents 790e8a997d30
children 4439140706d0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
790e8a997d30 Refactoring
cin
parents:
diff changeset
1 using System;
790e8a997d30 Refactoring
cin
parents:
diff changeset
2 using System.Collections.Generic;
790e8a997d30 Refactoring
cin
parents:
diff changeset
3 using System.Linq;
790e8a997d30 Refactoring
cin
parents:
diff changeset
4 using System.Text;
790e8a997d30 Refactoring
cin
parents:
diff changeset
5
790e8a997d30 Refactoring
cin
parents:
diff changeset
6 namespace Implab
790e8a997d30 Refactoring
cin
parents:
diff changeset
7 {
790e8a997d30 Refactoring
cin
parents:
diff changeset
8 public interface IPromise<T>: IPromise
790e8a997d30 Refactoring
cin
parents:
diff changeset
9 {
790e8a997d30 Refactoring
cin
parents:
diff changeset
10
790e8a997d30 Refactoring
cin
parents:
diff changeset
11 new T Join();
790e8a997d30 Refactoring
cin
parents:
diff changeset
12 new T Join(int timeout);
790e8a997d30 Refactoring
cin
parents:
diff changeset
13
790e8a997d30 Refactoring
cin
parents:
diff changeset
14 IPromise<T> Then(ResultHandler<T> success, ErrorHandler<T> error);
790e8a997d30 Refactoring
cin
parents:
diff changeset
15 IPromise<T> Then(ResultHandler<T> success);
790e8a997d30 Refactoring
cin
parents:
diff changeset
16 IPromise<T> Error(ErrorHandler<T> error);
790e8a997d30 Refactoring
cin
parents:
diff changeset
17
72
d67b95eddaf4 promises refactoring
cin
parents: 66
diff changeset
18 IPromise<T2> Map<T2>(ResultMapper<T,T2> mapper, ErrorHandler<T> error);
66
790e8a997d30 Refactoring
cin
parents:
diff changeset
19 IPromise<T2> Map<T2>(ResultMapper<T, T2> mapper);
790e8a997d30 Refactoring
cin
parents:
diff changeset
20
72
d67b95eddaf4 promises refactoring
cin
parents: 66
diff changeset
21 IPromise<T2> Chain<T2>(ChainedOperation<T, T2> chained, ErrorHandler<T> error);
66
790e8a997d30 Refactoring
cin
parents:
diff changeset
22 IPromise<T2> Chain<T2>(ChainedOperation<T, T2> chained);
790e8a997d30 Refactoring
cin
parents:
diff changeset
23
790e8a997d30 Refactoring
cin
parents:
diff changeset
24 new IPromise<T> Cancelled(Action handler);
790e8a997d30 Refactoring
cin
parents:
diff changeset
25 new IPromise<T> Finally(Action handler);
790e8a997d30 Refactoring
cin
parents:
diff changeset
26 new IPromise<T> Anyway(Action handler);
790e8a997d30 Refactoring
cin
parents:
diff changeset
27
790e8a997d30 Refactoring
cin
parents:
diff changeset
28 }
790e8a997d30 Refactoring
cin
parents:
diff changeset
29 }