Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Sys / System / IO / compression / GZipStream.cs / 1305376 / GZipStream.cs
namespace System.IO.Compression { using System.IO; using System.Diagnostics; using System.Security.Permissions; public class GZipStream : Stream { private DeflateStream deflateStream; public GZipStream(Stream stream, CompressionMode mode) : this( stream, mode, false) { } public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen) { deflateStream = new DeflateStream(stream, mode, leaveOpen); if (mode == CompressionMode.Compress) { IFileFormatWriter writeCommand = new GZipFormatter(); deflateStream.SetFileFormatWriter(writeCommand); } else { IFileFormatReader readCommand = new GZipDecoder(); deflateStream.SetFileFormatReader(readCommand); } } public override bool CanRead { get { if( deflateStream == null) { return false; } return deflateStream.CanRead; } } public override bool CanWrite { get { if( deflateStream == null) { return false; } return deflateStream.CanWrite; } } public override bool CanSeek { get { if( deflateStream == null) { return false; } return deflateStream.CanSeek; } } public override long Length { get { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } } public override long Position { get { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } set { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } } public override void Flush() { if( deflateStream == null) { throw new ObjectDisposedException(null, SR.GetString(SR.ObjectDisposed_StreamClosed)); } deflateStream.Flush(); return; } public override long Seek(long offset, SeekOrigin origin) { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } public override void SetLength(long value) { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } [HostProtection(ExternalThreading=true)] public override IAsyncResult BeginRead(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.BeginRead(array, offset, count, asyncCallback, asyncState); } public override int EndRead(IAsyncResult asyncResult) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.EndRead(asyncResult); } [HostProtection(ExternalThreading=true)] public override IAsyncResult BeginWrite(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.BeginWrite(array, offset, count, asyncCallback, asyncState); } public override void EndWrite(IAsyncResult asyncResult) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } deflateStream.EndWrite(asyncResult); } public override int Read(byte[] array, int offset, int count) { if( deflateStream == null) { throw new ObjectDisposedException(null, SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.Read(array, offset, count); } public override void Write(byte[] array, int offset, int count) { if( deflateStream == null) { throw new ObjectDisposedException(null, SR.GetString(SR.ObjectDisposed_StreamClosed)); } deflateStream.Write(array, offset, count); } protected override void Dispose(bool disposing) { try { if (disposing && deflateStream != null) { deflateStream.Close(); } deflateStream = null; } finally { base.Dispose(disposing); } } public Stream BaseStream { get { if( deflateStream != null) { return deflateStream.BaseStream; } else { return null; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.IO.Compression { using System.IO; using System.Diagnostics; using System.Security.Permissions; public class GZipStream : Stream { private DeflateStream deflateStream; public GZipStream(Stream stream, CompressionMode mode) : this( stream, mode, false) { } public GZipStream(Stream stream, CompressionMode mode, bool leaveOpen) { deflateStream = new DeflateStream(stream, mode, leaveOpen); if (mode == CompressionMode.Compress) { IFileFormatWriter writeCommand = new GZipFormatter(); deflateStream.SetFileFormatWriter(writeCommand); } else { IFileFormatReader readCommand = new GZipDecoder(); deflateStream.SetFileFormatReader(readCommand); } } public override bool CanRead { get { if( deflateStream == null) { return false; } return deflateStream.CanRead; } } public override bool CanWrite { get { if( deflateStream == null) { return false; } return deflateStream.CanWrite; } } public override bool CanSeek { get { if( deflateStream == null) { return false; } return deflateStream.CanSeek; } } public override long Length { get { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } } public override long Position { get { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } set { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } } public override void Flush() { if( deflateStream == null) { throw new ObjectDisposedException(null, SR.GetString(SR.ObjectDisposed_StreamClosed)); } deflateStream.Flush(); return; } public override long Seek(long offset, SeekOrigin origin) { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } public override void SetLength(long value) { throw new NotSupportedException(SR.GetString(SR.NotSupported)); } [HostProtection(ExternalThreading=true)] public override IAsyncResult BeginRead(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.BeginRead(array, offset, count, asyncCallback, asyncState); } public override int EndRead(IAsyncResult asyncResult) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.EndRead(asyncResult); } [HostProtection(ExternalThreading=true)] public override IAsyncResult BeginWrite(byte[] array, int offset, int count, AsyncCallback asyncCallback, object asyncState) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.BeginWrite(array, offset, count, asyncCallback, asyncState); } public override void EndWrite(IAsyncResult asyncResult) { if( deflateStream == null) { throw new InvalidOperationException(SR.GetString(SR.ObjectDisposed_StreamClosed)); } deflateStream.EndWrite(asyncResult); } public override int Read(byte[] array, int offset, int count) { if( deflateStream == null) { throw new ObjectDisposedException(null, SR.GetString(SR.ObjectDisposed_StreamClosed)); } return deflateStream.Read(array, offset, count); } public override void Write(byte[] array, int offset, int count) { if( deflateStream == null) { throw new ObjectDisposedException(null, SR.GetString(SR.ObjectDisposed_StreamClosed)); } deflateStream.Write(array, offset, count); } protected override void Dispose(bool disposing) { try { if (disposing && deflateStream != null) { deflateStream.Close(); } deflateStream = null; } finally { base.Dispose(disposing); } } public Stream BaseStream { get { if( deflateStream != null) { return deflateStream.BaseStream; } else { return null; } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ApplicationServiceHelper.cs
- WithParamAction.cs
- DoubleConverter.cs
- TextTreeRootNode.cs
- DiffuseMaterial.cs
- ScrollChrome.cs
- SymLanguageVendor.cs
- BrowserDefinition.cs
- RequestDescription.cs
- SetterTriggerConditionValueConverter.cs
- ToolStripProgressBar.cs
- MenuCommandsChangedEventArgs.cs
- TreeViewItemAutomationPeer.cs
- WebContext.cs
- RuleSetBrowserDialog.cs
- StdValidatorsAndConverters.cs
- altserialization.cs
- TagPrefixCollection.cs
- TakeQueryOptionExpression.cs
- Parallel.cs
- CurrentChangingEventArgs.cs
- ByteStack.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- listviewsubitemcollectioneditor.cs
- AttachedAnnotation.cs
- DictionaryEntry.cs
- DataColumnMapping.cs
- WizardPanelChangingEventArgs.cs
- HttpListenerPrefixCollection.cs
- COM2ColorConverter.cs
- CodeParameterDeclarationExpression.cs
- PersonalizationEntry.cs
- MailWriter.cs
- WebPartConnectVerb.cs
- AssemblyAttributesGoHere.cs
- PrintingPermissionAttribute.cs
- DataGridViewColumnCollection.cs
- CharStorage.cs
- XXXOnTypeBuilderInstantiation.cs
- DataGridViewRowHeaderCell.cs
- PeerCustomResolverElement.cs
- DefaultParameterValueAttribute.cs
- Attributes.cs
- DocumentApplication.cs
- login.cs
- Line.cs
- DynamicValidatorEventArgs.cs
- Directory.cs
- XmlDataCollection.cs
- GAC.cs
- ExpressionPrefixAttribute.cs
- DesignerHelpers.cs
- SoapFault.cs
- TargetControlTypeCache.cs
- HealthMonitoringSectionHelper.cs
- TypeSystem.cs
- DESCryptoServiceProvider.cs
- PropertyPathWorker.cs
- TextTreeText.cs
- StateRuntime.cs
- WebPartManagerDesigner.cs
- FreezableCollection.cs
- CapabilitiesSection.cs
- XmlSchemas.cs
- MenuItemStyle.cs
- MasterPageBuildProvider.cs
- BamlTreeNode.cs
- ScrollContentPresenter.cs
- ScrollChrome.cs
- TextServicesContext.cs
- base64Transforms.cs
- FastEncoderWindow.cs
- ToolStripPanelRow.cs
- EmptyEnumerable.cs
- ValidationHelpers.cs
- CookieProtection.cs
- ProcessModelInfo.cs
- ButtonPopupAdapter.cs
- CompareValidator.cs
- OutputScope.cs
- ReachDocumentPageSerializer.cs
- Confirm.cs
- Switch.cs
- HttpHandlerAction.cs
- StrokeNode.cs
- Verify.cs
- DrawingAttributeSerializer.cs
- EntryWrittenEventArgs.cs
- LocatorPartList.cs
- BitmapEffect.cs
- Utils.cs
- TextServicesLoader.cs
- ControlOperationInvoker.cs
- TextEffect.cs
- ProxyManager.cs
- SubpageParagraph.cs
- ImageCreator.cs
- Ref.cs
- IISMapPath.cs
- FileFormatException.cs