Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
2010-04-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
* DeflateStream.cs: the delegate uses Cdecl calling convention on
windows too. Fixes bug #574713.
2010-04-07 Gonzalo Paniagua Javier <gonzalo@novell.com>
* DeflateStream.cs: always use Cdecl, since the library is compiled
using that calling convention in windows too.
2010-03-09 Gonzalo Paniagua Javier <gonzalo@novell.com>
* DeflateStream.cs: don't call unmanaged code when the byte count
is 0. Fixes bug #586870.
2009-12-23 Geoff Norton <gnorton@novell.com>
* DeflateStream.cs: Ensure our callbacks go into the correct
static methods.
2009-09-14 Jonathan Pryor <jpryor@novell.com>
* DeflateStream.cs: MonoTouch reverse callbacks need to be static
methods and be annotated with [MonoPInvokeCallback]. Get things
working with these limitations.
2009-07-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
* GzipStream.cs: fixed Dispose (bool).
* DeflateStream.cs: simplify the interface with unmanaged code, big
reduction of managaed<->unmanaged round trips.
Also fixes bug #523418.
2007-09-22 Gert Driesen <drieseng@users.sourceforge.net>
* DeflateStream.cs: Avoid double free. Fixes bug #327480.
2006-10-22 Zoltan Varga <vargaz@gmail.com>
* DeflateStream.cs: Throw a more meaningfull exception when zlib initialization
fails.
2006-09-28 Andrew Skiba <andrews@mainsoft.com>
* DeflateStream.cs: TARGET_JVM
2006-09-19 Miguel de Icaza <miguel@novell.com>
* GzipStream.cs: Only dispose, do not try to use internal routines.
2006-04-04 Atsushi Enomoto <atsushi@ximian.com>
* DeflateStream.cs GzipStream.cs : updated API to 2.0 RTM.
Dispose() should certainly release resources than the finalizer.
2006-03-11 Miguel de Icaza <miguel@novell.com>
* DeflateStream.cs: Comment out DllImport that was not being
used.
2005-05-18 Sebastien Pouliot <sebastien@ximian.com>
* DeflateStream.cs: Fixed some changed/missing exceptions.
* GzipStream.cs: Renamed to GZipStream (from beta2).
2004-12-03 Raja R Harinath <rharinath@novell.com>
* DeflateStream.cs, GzipStream.cs, CompressionMode.cs: Make class public.
2004-11-10 Martin Baulig <martin@ximian.com>
* DeflateStream.cs, GzipStream.cs: `System.IO.Stream.Length' doesn't
have any setter.
2004-10-02 Christopher Lahey (clahey@ximian.com)
* DeflateStream.cs GzipStream.cs: Implemented the DeflateStream
and GzipStream using zlib.

View File

@@ -0,0 +1,35 @@
//
// Authors:
// Martin Baulig (martin.baulig@xamarin.com)
//
// Copyright 2012 Xamarin Inc. (http://www.xamarin.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if NET_4_5
namespace System.IO.Compression {
public enum CompressionLevel {
Optimal,
Fastest,
NoCompression
}
}
#endif

View File

@@ -0,0 +1,17 @@
/* -*- Mode: csharp; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
//
// CompressionMOode.cs
//
// Authors:
// Christopher James Lahey <clahey@ximian.com>
//
// (c) 2004 Novell, Inc. (http://www.novell.com)
//
namespace System.IO.Compression {
public enum CompressionMode {
Decompress=0, // Decompress the given stream.
Compress=1 // Compress the given stream.
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,194 @@
/* -*- Mode: csharp; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
//
// GZipStream.cs
//
// Authors:
// Christopher James Lahey <clahey@ximian.com>
// Gonzalo Paniagua Javier <gonzalo@novell.com>
//
// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.Remoting.Messaging;
namespace System.IO.Compression {
public class GZipStream : Stream
{
private DeflateStream deflateStream;
public GZipStream (Stream compressedStream, CompressionMode mode) :
this (compressedStream, mode, false) {
}
public GZipStream (Stream compressedStream, CompressionMode mode, bool leaveOpen) {
this.deflateStream = new DeflateStream (compressedStream, mode, leaveOpen, true);
}
#if NET_4_5
[MonoTODO]
public GZipStream (Stream stream, CompressionLevel compressionLevel)
: this (stream, CompressionMode.Compress)
{
throw new NotImplementedException ();
}
[MonoTODO]
public GZipStream (Stream stream, CompressionLevel compressionLevel, bool leaveOpen)
: this (stream, CompressionMode.Compress, leaveOpen)
{
throw new NotImplementedException ();
}
#endif
protected override void Dispose (bool disposing)
{
if (disposing) {
if (deflateStream != null) {
deflateStream.Dispose ();
deflateStream = null;
}
}
base.Dispose (disposing);
}
public override int Read (byte[] dest, int dest_offset, int count)
{
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
return deflateStream.Read(dest, dest_offset, count);
}
public override void Write (byte[] src, int src_offset, int count)
{
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
deflateStream.Write (src, src_offset, count);
}
public override void Flush()
{
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
deflateStream.Flush();
}
public override long Seek (long offset, SeekOrigin origin)
{
throw new NotSupportedException();
}
public override void SetLength (long value)
{
throw new NotSupportedException();
}
public override IAsyncResult BeginRead (byte [] buffer, int offset, int count,
AsyncCallback cback, object state)
{
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
return deflateStream.BeginRead (buffer, offset, count, cback, state);
}
public override IAsyncResult BeginWrite (byte [] buffer, int offset, int count,
AsyncCallback cback, object state)
{
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
return deflateStream.BeginWrite (buffer, offset, count, cback, state);
}
public override int EndRead(IAsyncResult async_result) {
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
return deflateStream.EndRead (async_result);
}
public override void EndWrite (IAsyncResult async_result)
{
if (deflateStream == null)
throw new ObjectDisposedException (GetType ().FullName);
deflateStream.EndWrite (async_result);
}
public Stream BaseStream {
get {
if (deflateStream == null)
return null;
return deflateStream.BaseStream;
}
}
public override bool CanRead {
get {
if (deflateStream == null)
return false;
return deflateStream.CanRead;
}
}
public override bool CanSeek {
get {
if (deflateStream == null)
return false;
return deflateStream.CanSeek;
}
}
public override bool CanWrite {
get {
if (deflateStream == null)
return false;
return deflateStream.CanWrite;
}
}
public override long Length {
get { throw new NotSupportedException(); }
}
public override long Position {
get { throw new NotSupportedException(); }
set { throw new NotSupportedException(); }
}
}
}