Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- IPEndPoint.cs
- SamlAuthorizationDecisionClaimResource.cs
- ModelItemCollectionImpl.cs
- SQLGuid.cs
- DBSchemaTable.cs
- Interlocked.cs
- DataGridViewIntLinkedList.cs
- AlignmentYValidation.cs
- CorrelationTokenTypeConvertor.cs
- FlowDocumentReader.cs
- DesignUtil.cs
- LOSFormatter.cs
- Calendar.cs
- BaseParaClient.cs
- StrongNameMembershipCondition.cs
- CodeIdentifiers.cs
- ServiceDescription.cs
- PassportPrincipal.cs
- ValueConversionAttribute.cs
- MatrixValueSerializer.cs
- WindowCollection.cs
- VSWCFServiceContractGenerator.cs
- OneOfElement.cs
- UIElementCollection.cs
- XmlSerializableServices.cs
- LayoutSettings.cs
- PassportIdentity.cs
- BmpBitmapDecoder.cs
- TransformPattern.cs
- RectangleF.cs
- StatusCommandUI.cs
- NullableDoubleMinMaxAggregationOperator.cs
- CreateParams.cs
- TraceSwitch.cs
- XmlnsPrefixAttribute.cs
- SplineKeyFrames.cs
- Vector3DCollectionValueSerializer.cs
- SqlRowUpdatingEvent.cs
- VectorCollection.cs
- RequestCacheManager.cs
- BookmarkScope.cs
- FacetDescriptionElement.cs
- BackStopAuthenticationModule.cs
- ByteAnimation.cs
- UdpTransportSettings.cs
- ClientSettingsStore.cs
- QueryOutputWriter.cs
- StreamAsIStream.cs
- PageParserFilter.cs
- Missing.cs
- ExtendedPropertyDescriptor.cs
- TabControlToolboxItem.cs
- CodeMemberField.cs
- HostVisual.cs
- BmpBitmapEncoder.cs
- OutputCacheSettingsSection.cs
- RoutedCommand.cs
- DirtyTextRange.cs
- ILGen.cs
- ExpanderAutomationPeer.cs
- UiaCoreApi.cs
- ApplicationHost.cs
- PassportAuthenticationModule.cs
- WriteTimeStream.cs
- InvalidProgramException.cs
- StateWorkerRequest.cs
- EventMappingSettingsCollection.cs
- XmlReaderSettings.cs
- StorageInfo.cs
- XNodeValidator.cs
- FontConverter.cs
- DBNull.cs
- DisposableCollectionWrapper.cs
- AstTree.cs
- SimpleBitVector32.cs
- AsmxEndpointPickerExtension.cs
- FontStretches.cs
- WindowsSecurityToken.cs
- TemplateParser.cs
- SQLInt16Storage.cs
- SqlOuterApplyReducer.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ReadOnlyCollection.cs
- ResourceAttributes.cs
- SerializableAttribute.cs
- WorkerRequest.cs
- ActionMismatchAddressingException.cs
- NativeMethods.cs
- SelectionItemProviderWrapper.cs
- QueueNameHelper.cs
- HashCodeCombiner.cs
- RemotingException.cs
- IgnoreDataMemberAttribute.cs
- WebControl.cs
- Queue.cs
- AssemblySettingAttributes.cs
- BinaryObjectInfo.cs
- InputBinding.cs
- AspNetHostingPermission.cs
- GACMembershipCondition.cs