Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Sys / System / IO / compression / GZipStream.cs / 1 / 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, true); } 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, true); } 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
- MatcherBuilder.cs
- IgnoreFlushAndCloseStream.cs
- ValidatorCollection.cs
- ScriptReferenceEventArgs.cs
- XmlSignificantWhitespace.cs
- SecurityHelper.cs
- NameObjectCollectionBase.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- MultiTrigger.cs
- ReliableChannelFactory.cs
- DetailsViewUpdateEventArgs.cs
- CommonDialog.cs
- KeyPullup.cs
- ClipboardData.cs
- BaseDataListActionList.cs
- TypeDescriptor.cs
- XmlSchemaCompilationSettings.cs
- ExtendedPropertyCollection.cs
- TextSpanModifier.cs
- HMACSHA512.cs
- SetStoryboardSpeedRatio.cs
- GroupBox.cs
- StrongNameUtility.cs
- PropertyRecord.cs
- ConfigurationManager.cs
- IisTraceListener.cs
- CustomSignedXml.cs
- DefaultValueTypeConverter.cs
- TextCompositionManager.cs
- InstanceData.cs
- InvalidateEvent.cs
- Int16Converter.cs
- RegexGroup.cs
- TypedTableGenerator.cs
- FileSystemInfo.cs
- WebScriptClientGenerator.cs
- FrameDimension.cs
- QueryOpcode.cs
- WebPartDescription.cs
- OdbcFactory.cs
- CodeTypeParameter.cs
- X509CertificateClaimSet.cs
- UdpTransportSettings.cs
- MSHTMLHost.cs
- DbExpressionBuilder.cs
- TargetConverter.cs
- ProgressBar.cs
- Screen.cs
- XmlSchemaType.cs
- SqlClientWrapperSmiStream.cs
- PnrpPermission.cs
- InstanceDescriptor.cs
- TextRangeEditTables.cs
- MatrixTransform3D.cs
- Pair.cs
- SystemResourceHost.cs
- FontEmbeddingManager.cs
- NativeMethods.cs
- LazyTextWriterCreator.cs
- ApplicationManager.cs
- ModelPropertyDescriptor.cs
- Stroke.cs
- ManipulationDelta.cs
- GrammarBuilderWildcard.cs
- AuthenticationService.cs
- SatelliteContractVersionAttribute.cs
- RowVisual.cs
- ReferenceEqualityComparer.cs
- XslTransform.cs
- HierarchicalDataSourceConverter.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- BaseDataListActionList.cs
- NotCondition.cs
- WindowAutomationPeer.cs
- LocalizabilityAttribute.cs
- SortableBindingList.cs
- UpdateCommand.cs
- PageParserFilter.cs
- PackWebRequest.cs
- TextElementAutomationPeer.cs
- CollaborationHelperFunctions.cs
- LayoutInformation.cs
- PropertyTabChangedEvent.cs
- ObjectIDGenerator.cs
- HtmlToClrEventProxy.cs
- IPHostEntry.cs
- ClaimTypes.cs
- CfgArc.cs
- CodeChecksumPragma.cs
- isolationinterop.cs
- EntityTypeBase.cs
- WebPartConnectionCollection.cs
- StringOutput.cs
- Win32MouseDevice.cs
- ShadowGlyph.cs
- ToolStripSplitButton.cs
- LoginCancelEventArgs.cs
- IdnElement.cs
- CodePropertyReferenceExpression.cs
- ProviderSettingsCollection.cs