Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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; } } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ChannelAcceptor.cs
- Tile.cs
- FeatureSupport.cs
- HostingEnvironmentWrapper.cs
- BuilderPropertyEntry.cs
- QilParameter.cs
- NativeMsmqMessage.cs
- DbConnectionPoolIdentity.cs
- SizeF.cs
- ManualResetEventSlim.cs
- WebPartMovingEventArgs.cs
- AmbientLight.cs
- CurrentChangingEventArgs.cs
- PermissionSet.cs
- StringWriter.cs
- HyperLinkStyle.cs
- CapabilitiesRule.cs
- WebRequestModuleElementCollection.cs
- BufferModeSettings.cs
- SortQuery.cs
- XmlSchemaAnyAttribute.cs
- CustomErrorsSectionWrapper.cs
- TableLayoutSettings.cs
- CursorInteropHelper.cs
- FontDialog.cs
- XmlDataProvider.cs
- ControlEvent.cs
- HtmlToClrEventProxy.cs
- ThreadStaticAttribute.cs
- SecureUICommand.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- MetadataPropertyCollection.cs
- __Filters.cs
- AssemblyBuilder.cs
- TableRowGroupCollection.cs
- Condition.cs
- AbandonedMutexException.cs
- CodeCommentStatement.cs
- ThrowOnMultipleAssignment.cs
- TextChange.cs
- Classification.cs
- ToolboxItemCollection.cs
- AdornedElementPlaceholder.cs
- HiddenField.cs
- ViewManager.cs
- Command.cs
- HostProtectionException.cs
- CodeGroup.cs
- UncommonField.cs
- BufferedStream.cs
- OutputCacheModule.cs
- PageSettings.cs
- ExtractCollection.cs
- LicFileLicenseProvider.cs
- x509store.cs
- VolatileEnlistmentMultiplexing.cs
- RowVisual.cs
- CodeGroup.cs
- RequestQueue.cs
- TypeInitializationException.cs
- InternalCache.cs
- LoginDesigner.cs
- WebResourceUtil.cs
- ImageSource.cs
- TargetInvocationException.cs
- CalendarDay.cs
- QueryGenerator.cs
- MetadataUtilsSmi.cs
- WindowsSlider.cs
- BinaryReader.cs
- WindowsFormsSynchronizationContext.cs
- InternalSendMessage.cs
- TextEditorSelection.cs
- ResourceCategoryAttribute.cs
- OutputCacheSettings.cs
- ClientEventManager.cs
- NestedContainer.cs
- ErrorHandlerModule.cs
- PerformanceCountersElement.cs
- SelectionRange.cs
- PropertyGridEditorPart.cs
- StateMachineWorkflowInstance.cs
- MemberDescriptor.cs
- PropertyChangedEventArgs.cs
- SkipQueryOptionExpression.cs
- SerializationEventsCache.cs
- SerializationSectionGroup.cs
- ADMembershipProvider.cs
- TransactionManager.cs
- BindingList.cs
- CryptoHelper.cs
- DataGridViewBindingCompleteEventArgs.cs
- FileVersion.cs
- PreProcessor.cs
- BamlLocalizableResource.cs
- TableFieldsEditor.cs
- TemplateBamlRecordReader.cs
- ServiceMemoryGates.cs
- MarshalByRefObject.cs
- SessionPageStatePersister.cs