##// END OF EJS Templates
minor fixes and improvements of AsyncQueue, additional tests
minor fixes and improvements of AsyncQueue, additional tests

File last commit:

r119:2573b562e328 v2
r122:0c8685c8b56b 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 }
}