Symbian3/SDK/Source/GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023" xml:lang="en"><title>Zip
+Compression Library Overview</title><shortdesc>The Zip Compression Library, EZLib, provides stream and file compression
+and decompression functionality for the Symbian platforms. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>EZLib provides classes to handle the file, stream and buffer requirements
+of zlib. It provides native Symbian APIs that access the zlib compression
+algorithms and it exports some zlib and gzio C APIs from libz.dll. EZLib can
+operate on streams, flat zip files (zlib format) and gzip files. </p>
+<section><title>Purpose</title> <p>EZLib facilitates: </p> <ul>
+<li id="GUID-EB810152-39F6-5B42-B9CA-092FD2DBADB5"><p>Compression and decompression
+of memory streams </p> </li>
+<li id="GUID-F1E8AD72-1E1C-5978-BBDB-FCF529238441"><p>Compression and decompression
+of files </p> </li>
+<li id="GUID-B08AB8E2-DE37-59B2-86D3-04F5385BFCE0"><p>Decompression of file
+archives of gzip format </p> </li>
+</ul> </section>
+<section><title>Required background</title> <p>You must be familiar with zlib,
+gzip compression and decompression formats and Deflate algorithms. You can
+find further information about each of these on the IETF (Internet Engineering
+Task Force) website. </p> <p> <xref href="http://www.ietf.org/rfc/rfc1950.txt" scope="external">RFC1950- zlib format</xref>  </p> <p> <xref href="http://www.ietf.org/rfc/rfc1951.txt" scope="external">RFC1951-Deflate algorithm</xref>  </p> <p> <xref href="http://www.ietf.org/rfc/rfc1952.txt" scope="external">RFC1952-gzip format</xref>  </p> </section>
+<section><title>Key concepts and terms</title> <dl>
+<dlentry>
+<dt>zlib</dt>
+<dd><p>zlib format is an open standard for lossless compressed data. It can
+be implemented using a number of alternative compression algorithms. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Compression</dt>
+<dd><p>Data compression is a process of encoding information using fewer bits
+(or other information-bearing units) using specific encoding algorithms. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Decompression</dt>
+<dd><p>Decompression is the process of reconverting compressed data into its
+original (or nearly original) form. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Stream</dt>
+<dd><p>A stream is an abstraction that represents a device on which input
+and ouput operations are performed. A stream can be considered as a source
+or destination of characters of indefinite length. A stream can be accessed
+only in sequence. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>gzip File Format</dt>
+<dd><p>gzip is normally used to compress single files. Deflate is the compression
+algorithm used. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>gzio</dt>
+<dd><p>gzio APIs are input amd output functions for gzip format. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>zip Format</dt>
+<dd><p>The zip file format is both data compression and archive. A zip file
+contains one or more files that have been compressed where possible to reduce
+file size. The zip file format permits a number of compression algorithms
+but only Deflate is widely used and supported. </p> </dd>
+</dlentry>
+</dl> </section>
+<section><title>Architecture</title> <p>The Zip Compression Library (EZLib)
+provides C++ wrapper classes that encapsulate the functionality of version
+1.2.3 of the zlib library. zlib and gzio APIs are written in C. The core functionality
+is performed by a core library (libzcore.dll). </p> <p>EZLib provides three
+DLLs which encapsulate the core functionality in Symbian C++ and Open Environment
+APIs. </p> <ul>
+<li id="GUID-D8A474AF-8853-5297-AF1A-CDB87AA90CDC"><p>LIBZ.DLL: This is an
+Open Environment library that provides the zlib and gzio C APIs. The APIs
+can be used to compress and decompress zlib and gzip file formats. </p> </li>
+<li id="GUID-11302514-AFA7-548A-8EB2-2CD0FE34B1B5"><p>EZLIB.DLL: This provides
+Symbian C++ wrappers for the zlib compression and decompression APIs. It offers
+buffer, stream and gzip file handling classes. It also exports the C API interface
+provided by LIBZ.DLL with the exception of the gzio APIs. This library can
+be used to compress and decompress zlib and gzip file formats and memory streams. </p> </li>
+<li id="GUID-123ED28B-2F59-593E-B1F4-DA1E70368A0C"><p>EZIP.DLL: This provides
+Symbian C++ APIs for reading from and decompressing zip archives. It cannot
+be used to compress archives to zip archives. </p> </li>
+</ul> <fig id="GUID-14EAABD4-6E9D-53CA-9515-7504EF0482D7">
+<title>              EZLib Architecture            </title>
+<image href="GUID-917790B7-A71D-511C-AFAB-BB46EFD046C6_d0e151178_href.jpg" placement="inline"/>
+</fig> </section>
+<section><title>APIs</title> <p>The classes exported from <filepath>ezlib.dll</filepath> are
+tabulated below: </p> <table id="GUID-DD3CE37A-8241-5961-B517-03266AE463F0">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-AEF8BCC8-6B24-3D59-AD3A-17B5203B3AA5.dita"><apiname>CEZCompressor</apiname></xref>  </p> </entry>
+<entry><p>Provides wrapper for ‘compress’ and ‘Deflate’ zlib APIs. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-BC3CEC02-B747-38FB-8B35-E7390DB06E35.dita"><apiname>CEZDecompressor</apiname></xref>  </p> </entry>
+<entry><p>Provides wrapper for ‘uncompress’ and ‘inflate’ zlib APIs. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-A54D8675-1874-3B4F-816D-001A235C0F9C.dita"><apiname>CEZFileBufferManager</apiname></xref>  </p> </entry>
+<entry><p>Provides basic file handling for CEZCompressor and CEZDecompressor
+classes. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-417AB4E0-FF07-34CB-A4A8-CEF31C48A162.dita"><apiname>CEZFileToGZip</apiname></xref>  </p> </entry>
+<entry><p>Provides implementation to compress an uncompressed file to a gzip
+file. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-20B207AF-0DEB-3B4A-8BA4-4C0D17F544AC.dita"><apiname>CEZFileToGzipBM</apiname></xref>  </p> </entry>
+<entry><p>Provides buffer management class for CEZFileToGZip. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-8DE05785-D058-3855-A11F-7132EB4DE078.dita"><apiname>CEZGZipToFile</apiname></xref>  </p> </entry>
+<entry><p>Provides implementation to uncompress a gzip file to an output file. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-2C372219-941A-3D1B-885F-8BC745827445.dita"><apiname>CEZGzipToFileBM</apiname></xref>  </p> </entry>
+<entry><p>Provides buffer management class for CEZGzipToFile. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-E9A5CC9F-612E-3C32-AF93-6F28D2A894EF.dita"><apiname>CEZZStream</apiname></xref>  </p> </entry>
+<entry><p>Provides stream handling. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-B90BA6D6-72A2-3EB8-B8EF-CD5408107A9E.dita"><apiname>MEZBufferManager</apiname></xref>  </p> </entry>
+<entry><p>Pure virtual interface class. CEZFileBufferManager derives from
+this class. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The classes exported from <filepath>ezip.dll</filepath> are tabulated
+below: </p> <table id="GUID-067977A4-93E7-5E09-9962-63B3FA501B42">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-8C8DEC50-6FC8-3DED-84E1-1EA42E2A0BB8.dita"><apiname>CZipArchive</apiname></xref>  </p> </entry>
+<entry><p>Represents a zip archive and defines all relevant enumerations and
+structures. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-79C613E8-35F8-319B-BE8B-1411CBE5AF00.dita"><apiname>CZipFile</apiname></xref>  </p> </entry>
+<entry><p>Represents a zip archive contained in a single file. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-02A8BC62-D653-39A3-BE0C-92A5F3F43E85.dita"><apiname>CZipFileMember</apiname></xref>  </p> </entry>
+<entry><p>Represents a compressed file contained in a CZipFile archive file. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-D458AE6A-EC64-3882-BCEA-A44A43DAA99A.dita"><apiname>CZipFileMemberIterator</apiname></xref>  </p> </entry>
+<entry><p>Allows iteration through all the entries of an archive. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-62F9728B-9C39-3496-BAEB-6E1456E6F197.dita"><apiname>RZipFileMemberReaderStream</apiname></xref>  </p> </entry>
+<entry><p>Represents an input stream for compressed files in an archive. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p><filepath>libz.dll</filepath> provides the C open environment
+and hybrid applications to support the zlib library. </p></section>
+<section><title>Typical uses</title> <p>The typical uses of
+the ZIP Compression Library are: </p> <ul>
+<li id="GUID-374EF76C-333C-5A09-9154-42056C70DD58"><p><xref href="GUID-548CC331-8E38-5627-A925-EA386BE90258.dita"> Compression
+and decompression of files(gzip)</xref>  </p> </li>
+<li id="GUID-053B2446-7ED5-5263-AF3D-00866C829B4C"><p><xref href="GUID-84922B27-FDCF-56FD-91ED-5E0BFE3ED0E4.dita">Compression
+and decompression of files(zip) </xref>  </p> </li>
+<li id="GUID-BA9F0FBB-6B0C-51DB-8162-336C27002B79"><p><xref href="GUID-C3086910-D7B4-5549-BF65-374C8B602E8F.dita"> Compression
+and decompression of memory streams </xref>  </p> </li>
+<li id="GUID-A6DDC9BD-B8F4-52CE-BE3D-AFAC549EF9ED"><p><xref href="GUID-FDDAF8E9-4CAB-5489-B578-A5362E2140C1.dita"> Decompression
+of file archives </xref>  </p> </li>
+</ul> </section>
+</conbody></concept>
\ No newline at end of file