Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FreezableOperations.cs
- CodePageEncoding.cs
- StateMachine.cs
- Converter.cs
- IdentityNotMappedException.cs
- Command.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- VectorCollectionConverter.cs
- MatchingStyle.cs
- TableStyle.cs
- NativeMethods.cs
- HostedTransportConfigurationBase.cs
- ValueSerializerAttribute.cs
- WindowsAuthenticationEventArgs.cs
- DoubleSumAggregationOperator.cs
- StretchValidation.cs
- DataGridViewMethods.cs
- CompiledAction.cs
- BitmapDownload.cs
- Color.cs
- ChangeTracker.cs
- basevalidator.cs
- ExpressionWriter.cs
- MsmqAppDomainProtocolHandler.cs
- XmlIlTypeHelper.cs
- Int32.cs
- FragmentNavigationEventArgs.cs
- IntersectQueryOperator.cs
- RewritingProcessor.cs
- ConfigurationLocation.cs
- NetSectionGroup.cs
- Double.cs
- HtmlSelect.cs
- ToggleButtonAutomationPeer.cs
- QilParameter.cs
- HttpCapabilitiesSectionHandler.cs
- SqlDataSourceEnumerator.cs
- DelegatingTypeDescriptionProvider.cs
- ProgressBarRenderer.cs
- GridViewDeleteEventArgs.cs
- CodeGroup.cs
- documentsequencetextview.cs
- LinqDataSourceUpdateEventArgs.cs
- UnicodeEncoding.cs
- TreeNodeCollectionEditor.cs
- TextSchema.cs
- Typeface.cs
- ComponentChangedEvent.cs
- FixedPageProcessor.cs
- MailAddress.cs
- BinaryCommonClasses.cs
- DecimalConstantAttribute.cs
- X509Certificate.cs
- RuntimeConfig.cs
- XmlReflectionMember.cs
- Header.cs
- MessageQueueException.cs
- GregorianCalendar.cs
- WindowsGrip.cs
- RequestSecurityTokenForGetBrowserToken.cs
- RMEnrollmentPage2.cs
- FixedSOMContainer.cs
- XPathDocument.cs
- HtmlSelect.cs
- InvokeBase.cs
- ProfessionalColors.cs
- CrossAppDomainChannel.cs
- MouseGestureConverter.cs
- ItemsControl.cs
- StorageSetMapping.cs
- DesignBindingPropertyDescriptor.cs
- InplaceBitmapMetadataWriter.cs
- CodeGenHelper.cs
- ObjectContextServiceProvider.cs
- UriSection.cs
- AtomServiceDocumentSerializer.cs
- DefinitionBase.cs
- SqlNotificationRequest.cs
- diagnosticsswitches.cs
- DataGridViewCellMouseEventArgs.cs
- ListParaClient.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- MarkedHighlightComponent.cs
- XmlBinaryReader.cs
- Utilities.cs
- ToolStripStatusLabel.cs
- sqlnorm.cs
- Exception.cs
- SqlCacheDependencyDatabase.cs
- InternalConfigConfigurationFactory.cs
- SqlDataSourceCommandEventArgs.cs
- SmiEventSink_Default.cs
- StringFreezingAttribute.cs
- IODescriptionAttribute.cs
- TagNameToTypeMapper.cs
- SystemWebExtensionsSectionGroup.cs
- EmptyElement.cs
- Size.cs
- RootNamespaceAttribute.cs
- CodePageEncoding.cs