示例#1
0
 private PageDataReaderAdapter(IPageDataReader impl, Stream stream, XmlReader xmlReader)
     : this(impl, new IDisposable[] { stream, xmlReader })
 {
     this.impl           = impl;
     UnderlyingStream    = stream;
     UnderlyingXmlReader = xmlReader;
 }
示例#2
0
        /// <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);
                }
            }
        }
示例#3
0
 private PageDataReaderAdapter(IPageDataReader impl, params IDisposable[] subfields)
     : base(impl, subfields)
 {
     this.impl = impl;
 }