protected override void Dispose(bool disposing)
 {
     if (disposing && destination != null)
     {
         if (!inconsistentState)
         {
             Flush();
         }
         if (destination is Stream)
         {
             ((Stream)destination).Close();
         }
         else
         {
             ((TextWriter)destination).Close();
         }
     }
     if (consumer != null && consumer is IDisposable)
     {
         ((IDisposable)consumer).Dispose();
     }
     destination       = null;
     consumer          = null;
     sinkInputObject   = null;
     chunkToReadBuffer = null;
     base.Dispose(disposing);
 }
Exemple #2
0
        internal override IProducerConsumer CreatePullChain(TextReader input, ConverterStream converterStream)
        {
            this.inputEncoding = Encoding.Unicode;
            ConverterInput  input2 = new ConverterUnicodeInput(input, false, this.maxHtmlTagSize, base.TestBoundaryConditions, converterStream);
            ConverterOutput output = new ConverterEncodingOutput(converterStream, false, false, this.outputEncodingSameAsInput ? Encoding.UTF8 : this.outputEncoding, this.outputEncodingSameAsInput, base.TestBoundaryConditions, this);

            return(this.CreateChain(input2, output, converterStream));
        }
Exemple #3
0
        internal override IProducerConsumer CreatePullChain(TextReader input, ConverterReader converterReader)
        {
            this.inputEncoding  = Encoding.Unicode;
            this.outputEncoding = Encoding.Unicode;
            ConverterInput  input2 = new ConverterUnicodeInput(input, false, this.maxHtmlTagSize, base.TestBoundaryConditions, converterReader);
            ConverterOutput output = new ConverterUnicodeOutput(converterReader, false, false);

            return(this.CreateChain(input2, output, converterReader));
        }
 internal void SetSink(ConverterUnicodeInput sinkInputObject)
 {
     this.sinkInputObject = sinkInputObject;
 }