internal void Remove(AMCHandler aMCHandler, String what) { lock (_messages) { bool removed = false; for (int i = 0; i < _messages.Count; i++) { if (_messages[i].GetTarget().Equals(aMCHandler) && _messages[i].what.Equals(what)) { _messages.RemoveAt(i); removed = true; } } if (removed) { Monitor.PulseAll(_messages); } } }
internal bool Has(AMCHandler aMCHandler, String what) { lock (_messages) { for (int i = 0; i < _messages.Count; i++) { if (_messages[i].GetTarget().Equals(aMCHandler) && _messages[i].what.Equals(what)) { return true; } } } return false; }
internal void Remove(AMCHandler aMCHandler, Delegate runnable) { lock (_messages) { for (int i = 0; i < _messages.Count; i++) { if (_messages[i].GetTarget().Equals(aMCHandler) && _messages[i].Runnable.Equals(runnable)) { _messages.RemoveAt(i); } } } }
public void SetTarget(AMCHandler h) { _target = h; }