public EventQueue GetEvent() { if (queue.Count > 0) { EventQueue eventQueue = null; while (queue.Count > 0) { eventQueue = Dequeue(); EventQueue prev = eventQueue; eventQueue = eventQueue.GetEvent(); if (eventQueue._eventSet != null) { Enqueue(prev); break; } } if (eventQueue == null || eventQueue._eventSet == null) { return(this); } return(eventQueue); } else { return(this); } }
private void ProcessEventStack(EventQueue rootQueue) { if (nextOperation == OperationType.Abort) { return; } while ((currentQueue = rootQueue.GetEvent()) != null) { var eventSet = currentQueue.GetEventSet(); if (eventSet == null) { break; } ProcessEvent(eventSet); } }