private PageDataReaderAdapter(IPageDataReader impl, Stream stream, XmlReader xmlReader) : this(impl, new IDisposable[] { stream, xmlReader }) { this.impl = impl; UnderlyingStream = stream; UnderlyingXmlReader = xmlReader; }
/// <summary> /// Processing of a single input file /// </summary> /// <param name="inputStream">Input data stream</param> protected override void Process(Stream inputStream) { this.inputStream = inputStream; XmlReaderSettings settings = new XmlReaderSettings(); settings.XmlResolver = null; using (XmlReader xml = XmlReader.Create(inputStream, settings)) { dump = new RevisionXmlDumpParser(xml); dump.PageStart += PageStart; dump.PageComplete += PageComplete; dump.RevisionComplete += RevisionComplete; length = inputStream.Length; start = DateTime.Now; Console.TreatControlCAsInput = true; try { dump.Parse(); } catch (AbortException) { if (!done) { if (!quiet) { Console.Error.Write("\nAborted"); } } } stop = DateTime.Now; Console.Error.WriteLine(); if (!quiet) { Console.Error.WriteLine("{0} revisions analyzed in {1:n0} s", revisionCount, (stop - start).TotalSeconds); } } }
private PageDataReaderAdapter(IPageDataReader impl, params IDisposable[] subfields) : base(impl, subfields) { this.impl = impl; }