Exemplo n.º 1
0
        public void Convert(TextReader sourceReader, TextWriter destinationWriter)
        {
            if (destinationWriter == null)
            {
                throw new ArgumentNullException("destinationWriter");
            }


            TextReader converter = new ConverterReader(sourceReader, this);

            var buf = new char[4096];

            while (true)
            {
                var cnt = converter.Read(buf, 0, buf.Length);
                if (0 == cnt)
                {
                    break;
                }

                destinationWriter.Write(buf, 0, cnt);
            }

            destinationWriter.Flush();
        }
Exemplo n.º 2
0
        internal override IProducerConsumer CreatePullChain(Stream input, ConverterReader converterReader)
        {
            if (this.inputEncoding == null)
            {
                throw new InvalidOperationException(Strings.InputEncodingRequired);
            }

            this.outputEncoding = Encoding.Unicode;

            ConverterInput converterIn = new ConverterDecodingInput(
                input,
                false,
                this.inputEncoding,
                this.detectEncodingFromByteOrderMark,
                this.maxHtmlTagSize,
                this.testMaxHtmlRestartOffset,
                this.InputStreamBufferSize,
                this.TestBoundaryConditions,
                this as IResultsFeedback,
                converterReader as IProgressMonitor);

            ConverterOutput converterOut = new ConverterUnicodeOutput(
                converterReader,
                false,
                true);

            return(CreateChain(converterIn, converterOut, converterReader as IProgressMonitor));
        }
Exemplo n.º 3
0
        internal override IProducerConsumer CreatePullChain(TextReader input, ConverterReader converterReader)
        {
            this.inputEncoding  = Encoding.Unicode;
            this.outputEncoding = Encoding.Unicode;
            ConverterInput  input2 = new ConverterUnicodeInput(input, false, 4096, this.testBoundaryConditions, converterReader);
            ConverterOutput output = new ConverterUnicodeOutput(converterReader, false, false);

            return(this.CreateChain(input2, output, converterReader));
        }
Exemplo n.º 4
0
        internal override IProducerConsumer CreatePullChain(Stream input, ConverterReader converterReader)
        {
            if (this.inputEncoding == null)
            {
                throw new InvalidOperationException(TextConvertersStrings.InputEncodingRequired);
            }
            this.outputEncoding = Encoding.Unicode;
            ConverterInput  input2 = new ConverterDecodingInput(input, false, this.inputEncoding, this.detectEncodingFromByteOrderMark, 4096, 0, base.InputStreamBufferSize, this.testBoundaryConditions, this, converterReader);
            ConverterOutput output = new ConverterUnicodeOutput(converterReader, false, true);

            return(this.CreateChain(input2, output, converterReader));
        }
Exemplo n.º 5
0
        protected override void Dispose()
        {
            if (cache != null && cache is IDisposable)
            {
                ((IDisposable)cache).Dispose();
            }

            cache    = null;
            pushSink = null;
            pullSink = null;

            base.Dispose();
        }
Exemplo n.º 6
0
        protected override void Dispose()
        {
            if (this.cache != null && this.cache is IDisposable)
            {
                ((IDisposable)this.cache).Dispose();
            }

            this.cache    = null;
            this.pushSink = null;
            this.pullSink = null;

            base.Dispose();
        }
Exemplo n.º 7
0
        public ConverterUnicodeOutput(object destination, bool push, bool restartable)
        {
            if (push)
            {
                pushSink = destination as TextWriter;
                InternalDebug.Assert(pushSink != null);
            }
            else
            {
                pullSink = destination as ConverterReader;
                InternalDebug.Assert(pullSink != null);

                pullSink.SetSource(this);
            }

            this.restartable = canRestart = restartable;
        }
Exemplo n.º 8
0
        internal override IProducerConsumer CreatePullChain(TextReader input, ConverterReader converterReader)
        {
            this.inputEncoding  = Encoding.Unicode;
            this.outputEncoding = Encoding.Unicode;

            ConverterInput converterIn = new ConverterUnicodeInput(
                input,
                false,
                this.maxHtmlTagSize,
                this.TestBoundaryConditions,
                converterReader as IProgressMonitor);

            ConverterOutput converterOut = new ConverterUnicodeOutput(
                converterReader,
                false,
                false);

            return(CreateChain(converterIn, converterOut, converterReader as IProgressMonitor));
        }
Exemplo n.º 9
0
        public void Convert(Stream sourceStream, TextWriter destinationWriter)
        {
            if (destinationWriter == null)
            {
                throw new ArgumentNullException("destinationWriter");
            }
            TextReader textReader = new ConverterReader(sourceStream, this);

            char[] array = new char[4096];
            for (;;)
            {
                int num = textReader.Read(array, 0, array.Length);
                if (num == 0)
                {
                    break;
                }
                destinationWriter.Write(array, 0, num);
            }
            destinationWriter.Flush();
        }
Exemplo n.º 10
0
 internal abstract IProducerConsumer CreatePullChain(TextReader input, ConverterReader converterReader);
Exemplo n.º 11
0
 // Token: 0x06000FBE RID: 4030 RVA: 0x00075564 File Offset: 0x00073764
 internal override IProducerConsumer CreatePullChain(TextReader input, ConverterReader converterReader)
 {
     throw new NotSupportedException(TextConvertersStrings.TextReaderUnsupported);
 }
Exemplo n.º 12
0
 // Token: 0x06000FBD RID: 4029 RVA: 0x00075558 File Offset: 0x00073758
 internal override IProducerConsumer CreatePullChain(Stream input, ConverterReader converterReader)
 {
     throw new NotSupportedException(TextConvertersStrings.CannotUseConverterReader);
 }
Exemplo n.º 13
0
        // Token: 0x06000EF7 RID: 3831 RVA: 0x000739B0 File Offset: 0x00071BB0
        internal override IProducerConsumer CreatePullChain(Stream input, ConverterReader converterReader)
        {
            ConverterOutput output = new ConverterUnicodeOutput(converterReader, false, false);

            return(this.CreateChain(input, false, output, converterReader));
        }