FreeCAD

Форк
0
/
zipios.dox 
112 строк · 4.6 Кб
1
/**
2
   \defgroup ZIPIOS Zipios++
3
   \ingroup EMBEDDED
4
   \brief C++ library for reading and writing Zip file
5

6
   \section intro Introduction
7
   
8
   Zipios++ is a java.util.zip-like C++ library for reading and
9
   writing Zip files. Access to individual entries is provided through
10
   standard C++ iostreams. A simple read-only virtual file system that
11
   mounts regular directories and zip files is also provided.
12
   
13
   The source code is released under the <A
14
   HREF="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General Public
15
   License</A>.
16
   
17
   \section status Status
18

19
   Spanned archives are not supported, and support is not planned.
20
   
21

22
   The library has been tested and appears to be working with
23
   <UL>
24
   <LI><A HREF="http://www.freebsd.org/ports/archivers.html#zipios++-0.1.5">FreeBSD stable and current / gcc 2.95.3</A></LI>
25
   <LI>Red Hat Linux release 7.0  / gcc 2.96</LI>
26
   <LI>Red Hat Linux release 6.2 (Zoot) / egcs-2.91.66</LI>
27
   <LI>Linux Mandrake release 7.0 (Air) / gcc 2.95.2</LI>
28
   <LI>SGI IRIX64 6.5 / gcc 2.95.2</LI>
29
   <LI>SGI IRIX64 6.5 / MIPSpro Compilers: Version 7.30</LI>
30
   </UL>
31

32
   If you are aware of any other platforms that Zipios++ works on,
33
   please let me know (thomass@deltadata.dk).
34

35
   \subsection zipfiles Zip file access
36
   The two most important classes are \ref zipfile_anchor "ZipFile" and 
37
   \ref ZipInputStream_anchor "ZipInputStream". ZipInputStream is an istream
38
   for reading zipfiles. It can be instantiated directly, without the
39
   use of ZipFile. A new ZipInputStream reads from the first entry, and
40
   the user can skip to the next entry by calling
41
   \ref ZipInputStream_getnextentry_anchor "ZipInputStream::getNextEntry()".
42
   
43
   ZipFile scans the central directory of a zipfile and provides an
44
   interface to access that directory. The user may search for entries
45
   with a particular filename using \ref fcoll_getentry_anchor "ZipFile::getEntry()", 
46
   or simply get the complete list of entries
47
   with \ref fcoll_entries_anchor "ZipFile::entries()". To get an
48
   istream (ZipInputStream) to a particular entry simply use
49
   \ref fcoll_getinputstream "ZipFile::getInputStream()".
50
   
51
   "example_zip.cpp" demonstrates the central elements of Zipios++.
52
   
53
   A Zip file appended to another file, e.g. a binary program, with the 
54
   program "appendzip", can be read with 
55
   \ref zipfile_openembeddedzipfile "ZipFile::openEmbeddedZipFile()".
56

57
   \subsection filecollections FileCollections
58
   
59
   A ZipFile is actually just a special kind of 
60
   \ref fcoll_anchor "FileCollection" that
61
   obtains its entries from a .zip Zip archive. Zipios++ also implements
62
   a \ref dircol_anchor "DirectoryCollection" that obtains its entries 
63
   from a specified directory, and a \ref collcoll_anchor "CollectionCollection" 
64
   that obtains its entries from
65
   other collections. Using a single CollectionCollection any number of
66
   other FileCollections can be placed under its control and accessed
67
   through the same single interface that is used to access a ZipFile or
68
   a DirectoryCollection. A singleton (a unique global instance)
69
   CollectionCollection can be obtained through
70
   
71
   \ref collcoll_inst_anchor "CollectionCollection::inst()" ;
72

73
   To save typing CollectionCollection has been typedef'ed to CColl. In
74
   the initialization part of an application FileCollections can be
75
   created, and placed under CColll::inst()'s control using
76
   
77
   \ref collcoll_addcoll_anchor "CColl::inst().addCollection()"
78
   
79
   and later an istream can be obtained using
80

81
   \ref fcoll_getinputstream "CColl::inst().getInputStream()".
82
   
83
   \section download Download 
84
   Go to Zipios++ project page on SourceForge for tar balls and ChangeLog.
85
   <A HREF="http://sourceforge.net/project/?group_id=5418" >
86
   http://sourceforge.net/project/?group_id=5418</A>
87
   
88
   \section links Links
89
   <A HREF="ftp://ftp.freesoftware.com/pub/infozip/zlib/zlib.html">zlib</A>. 
90
   The compression library that Zipios++ uses to perform the actual 
91
   decompression.
92
   
93
   <A HREF="http://java.sun.com/products/jdk/1.3/docs/api/index.html">
94
   Java 2 Platform, Standard Edition, v 1.3 API Specification
95
   </A>. Zipios++ is heavily inspired by the java.util.zip package.
96
   
97
   <A
98
   HREF="http://www.geocities.com/SiliconValley/Lakes/2160/fformats/files/zip.txt">
99
   PKWARE zip format 
100
   </A>. A description of the zip file format.
101
   
102
   \section bugs Bugs 
103
   Submit bug reports and patches to thomass@deltadata.dk 
104
   
105
   
106
   
107
   \htmlonly
108
   Project hosted by <A HREF="http://sourceforge.net">
109
   SourceForge
110
   </A><p>
111
   \endhtmlonly
112
 */
113

114

115

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.