public Task Process(XenonHandler handler) { return(inner.Process(entry => { XenonRow[] rows = new XenonRow[1024]; int position = XenonScanner.NextOpening(entry, 0, name); while (position >= 0 && position < size) { XenonHierarchy hierarchy = new XenonHierarchy(rows); if (Handle(entry, hierarchy, ref position) == -1) { return; } handler.Handle(new XenonDocument(entry, hierarchy)); position = XenonScanner.NextOpening(entry, position, name); } })); }
public static Task Process(this BufferWindow window, Action <BufferEntry> callback) { return(window.Process(new CallbackHandler(callback))); }