void NotifyHandler(object sender, WaiterEventArgs args) { lock (this._syncRoot) { this._eventQueue.Enqueue(item: args); } this._resetEvent.Set(); }
protected virtual void OnNotify(WaiterEventArgs e) { if (Notify == null) { return; } Notify(sender: this, e: e); }
protected override bool Matches(WaiterEventArgs eventArgs) { var flag = true; if (null != eventArgs.Sender) { flag = UIObject.Matches(uiObject: eventArgs.Sender, condition: this._condition); } return(flag); }
protected override bool Matches(WaiterEventArgs eventArgs) { var eventArgs1 = (StructureChangedEventArgs)eventArgs.EventArgs; var flag = false; if (eventArgs1.StructureChangeType == StructureChangeType.ChildAdded) { flag = UIObject.Matches(uiObject: eventArgs.Sender, condition: this._condition); } return(flag); }
protected override bool Matches(WaiterEventArgs eventArgs) { var eventArgs1 = (StructureChangedEventArgs)eventArgs.EventArgs; var flag = false; if (eventArgs1.StructureChangeType == StructureChangeType.ChildRemoved) { flag = true; if (this._runtimeId != null) { flag = Automation.Compare(runtimeId1: eventArgs1.GetRuntimeId(), runtimeId2: this._runtimeId); } } return(flag); }
public void SinkEvent(WaiterEventArgs eventArgs) { Log.Out(msg: "{0} checking event {1} from {2}", (object)this._debug_identity, eventArgs.EventArgs != null ? (object)eventArgs.EventArgs.ToString() : (object)"null", (object)eventArgs.Sender); lock (this._lockObject) { if (this._disposed || !Matches(eventArgs: eventArgs)) { return; } var flag = true; Log.Out(msg: "{0} matched", (object)this._debug_identity); if (this._filterDelegate != null) { foreach (Predicate <WaiterEventArgs> invocation in this._filterDelegate.GetInvocationList()) { flag = invocation(obj: eventArgs); if (!flag) { Log.Out(msg: "{0} filtered out", (object)this._debug_identity); break; } } } if (!flag) { return; } this.Arguments = eventArgs; Log.Out(msg: "{0} notifying", (object)this._debug_identity); try { OnNotify(e: eventArgs); } finally { this._blockingEvent.Set(); } } }
protected virtual bool Matches(WaiterEventArgs eventArgs) { return(true); }
protected override bool Matches(WaiterEventArgs eventArgs) { return(null != eventArgs.Sender && UIObject.Matches(uiObject: eventArgs.Sender, condition: this._condition)); }