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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StylusButtonEventArgs.cs
- ReliabilityContractAttribute.cs
- ModuleBuilderData.cs
- CapabilitiesUse.cs
- xml.cs
- SatelliteContractVersionAttribute.cs
- OracleConnectionString.cs
- CssClassPropertyAttribute.cs
- DataServiceHostWrapper.cs
- DetailsViewCommandEventArgs.cs
- ArgIterator.cs
- QueuePathEditor.cs
- EncodingTable.cs
- SByte.cs
- Operand.cs
- ClassicBorderDecorator.cs
- ProfileSettings.cs
- Thickness.cs
- Math.cs
- StdValidatorsAndConverters.cs
- LassoSelectionBehavior.cs
- LineSegment.cs
- CompilerError.cs
- CommonDialog.cs
- TransactionFlowElement.cs
- WSUtilitySpecificationVersion.cs
- ContextActivityUtils.cs
- ResourceCategoryAttribute.cs
- Marshal.cs
- PerfCounterSection.cs
- ColorAnimation.cs
- Signature.cs
- OdbcConnectionStringbuilder.cs
- OptimisticConcurrencyException.cs
- DuplexChannelFactory.cs
- _HelperAsyncResults.cs
- WindowsComboBox.cs
- ListBox.cs
- httpapplicationstate.cs
- WebPartEditorOkVerb.cs
- BitmapSourceSafeMILHandle.cs
- CoTaskMemHandle.cs
- DataGridViewEditingControlShowingEventArgs.cs
- TabControl.cs
- ClockController.cs
- UpdateManifestForBrowserApplication.cs
- InitializationEventAttribute.cs
- XmlSchemaSimpleType.cs
- EventToken.cs
- CodeDOMProvider.cs
- EmbossBitmapEffect.cs
- X509AsymmetricSecurityKey.cs
- Variant.cs
- ReferencedAssembly.cs
- AssemblyResourceLoader.cs
- LinkLabel.cs
- AssociationSet.cs
- Ipv6Element.cs
- _UriTypeConverter.cs
- SettingsProviderCollection.cs
- EntityDescriptor.cs
- ValidationHelper.cs
- WindowsEditBoxRange.cs
- SQLRoleProvider.cs
- XmlNamespaceMapping.cs
- InvalidOperationException.cs
- SynchronizedKeyedCollection.cs
- MediaContext.cs
- ImportDesigner.xaml.cs
- FileUtil.cs
- PersonalizationDictionary.cs
- SecurityHeaderLayout.cs
- DataControlCommands.cs
- TextMetrics.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ExternalException.cs
- DataListItemCollection.cs
- ConfigXmlAttribute.cs
- PassportAuthenticationModule.cs
- DataGridViewColumnEventArgs.cs
- FontNamesConverter.cs
- WebEventTraceProvider.cs
- RuleInfoComparer.cs
- DatatypeImplementation.cs
- DataGridCell.cs
- ChildDocumentBlock.cs
- CategoriesDocument.cs
- MetafileHeaderWmf.cs
- BaseCodePageEncoding.cs
- SoapHeaders.cs
- XmlDataFileEditor.cs
- DoubleMinMaxAggregationOperator.cs
- Registry.cs
- MessageAction.cs
- CapabilitiesState.cs
- Misc.cs
- MenuScrollingVisibilityConverter.cs
- NamespaceEmitter.cs
- RedBlackList.cs
- QuaternionConverter.cs