##// END OF EJS Templates
major update, added Drain mathod to AsyncQueue class
major update, added Drain mathod to AsyncQueue class

File last commit:

r119:2573b562e328 v2
r124:a336cb13c6a9 v2
Show More
ControlBoundPromise.cs
38 lines | 1.2 KiB | text/x-csharp | CSharpLexer
/ Implab.Fx / ControlBoundPromise.cs
cin
promises refactoring
r72 using System.Windows.Forms;
using System;
namespace Implab.Fx {
public class ControlBoundPromise<T> : Promise<T> {
readonly Control m_target;
public ControlBoundPromise(Control target) {
Safe.ArgumentNotNull(target, "target");
m_target = target;
}
cin
Promises rewritten, added improved version of AsyncQueue
r119 protected override void SignalSuccess(IDeferred<T> handler) {
if (m_target.InvokeRequired)
m_target.BeginInvoke(new Action<IDeferred<T>>(base.SignalSuccess), handler);
else
base.SignalSuccess(handler);
cin
promises refactoring
r72 }
cin
Promises rewritten, added improved version of AsyncQueue
r119 protected override void SignalCancelled(IDeferred<T> handler) {
cin
promises refactoring
r72 if (m_target.InvokeRequired)
cin
Promises rewritten, added improved version of AsyncQueue
r119 m_target.BeginInvoke(new Action<IDeferred<T>>(base.SignalCancelled), handler);
cin
promises refactoring
r72 else
cin
Promises rewritten, added improved version of AsyncQueue
r119 base.SignalCancelled(handler);
cin
promises refactoring
r72 }
cin
Promises rewritten, added improved version of AsyncQueue
r119
protected override void SignalError(IDeferred<T> handler, Exception error) {
if (m_target.InvokeRequired)
m_target.BeginInvoke(new Action<IDeferred<T>,Exception>(base.SignalError), handler, error);
else
base.SignalError(handler, error);
}
cin
promises refactoring
r72 }
}