|
1 /** |
|
2 * \mainpage QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package |
|
3 * |
|
4 \htmlonly |
|
5 <a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=142688&type=7" style="width:210; height:62; border:none; float:right;" alt="Powered by SourceForge.net" /></a> |
|
6 \endhtmlonly |
|
7 * \section overview Overview |
|
8 * |
|
9 * QuaZIP is a simple C++ wrapper over <a |
|
10 * href="http://www.winimage.com/zLibDll/unzip.html">Gilles Vollant's ZIP/UNZIP |
|
11 * package</a> that can be used to access ZIP archives. It uses <a |
|
12 * href="http://www.trolltech.com/products/qt/index.html">Trolltech's |
|
13 * Qt toolkit</a>. |
|
14 * |
|
15 * If you do not know what Qt is, you have two options: |
|
16 * - Just forget about QuaZIP. |
|
17 * - Learn more about Qt by downloading it and/or reading excellent <a |
|
18 * href="http://doc.trolltech.com/">official Qt documentation</a> |
|
19 * |
|
20 * The choice is yours, but if you are really interested in |
|
21 * cross-platform (Windows/Linux/BSD/UNIX/Mac/Others) software |
|
22 * development, I would definitely recommend you the second choice ^_^ |
|
23 * |
|
24 * QuaZIP allows you to access files inside ZIP archives using QIODevice |
|
25 * API, and - yes! - that means that you can also use QTextStream, |
|
26 * QDataStream or whatever you would like to use on your zipped files. |
|
27 * |
|
28 * QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both |
|
29 * reading from and writing to ZIP archives. |
|
30 * |
|
31 * \section platforms Platforms supported |
|
32 * |
|
33 * QuaZIP has been currently tested with Qt 4.0.0 on the following |
|
34 * platforms: |
|
35 * - linux-g++ |
|
36 * - freebsd-g++ |
|
37 * - hpux-acc |
|
38 * - win32-g++ (MinGW) |
|
39 * |
|
40 * No testing has been done on other systems. Of course, patches to |
|
41 * make it work on any platform that it currently does not work on are |
|
42 * always welcome! |
|
43 * |
|
44 * \section whats-new What is new in this version of QuaZIP? |
|
45 * |
|
46 * See NEWS file supplied with the distribution. |
|
47 * |
|
48 * \section getting Getting latest version of QuaZIP |
|
49 * |
|
50 * Check <a href="http://sourceforge.net/projects/quazip/">QuaZIP |
|
51 * project's page at SourceForge.net</a>. Also, you may wish to read |
|
52 * latest version documentation available at the <a |
|
53 * href="http://quazip.sourceforge.net/">QuaZIP web site</a>. |
|
54 * |
|
55 * \section Requirements |
|
56 * |
|
57 * Just <a href="http://www.zlib.org/">zlib</a> and Qt 4. Well, Qt 4 |
|
58 * depends on zlib anyway. |
|
59 * |
|
60 * \section building Building, testing and installing |
|
61 * |
|
62 * \note Instructions given in this section assume that you are |
|
63 * using some UNIX dialect, but the build process should be very similar |
|
64 * on win32-g++ platform too. Sorry, but other platforms are |
|
65 * undocumented. I do not think it is a big deal, though - it is |
|
66 * standard usage of the Qt's qmake, so you most probably already know |
|
67 * everything that is required. |
|
68 * |
|
69 * To build it on some UNIX dialect: |
|
70 \verbatim |
|
71 $ cd /wherever/quazip/source/is/quazip-x.y.z/quazip |
|
72 $ qmake [PREFIX=where-to-install] |
|
73 $ make |
|
74 \endverbatim |
|
75 * |
|
76 * Make sure that you have Qt 4 installed with all required headers and |
|
77 * utilities (not just library) and that you run qmake utility of the Qt |
|
78 * 4, not some other version you may have already installed (you may |
|
79 * need to type full path to qmake like /usr/local/qt4/bin/qmake). |
|
80 * |
|
81 * To reconfigure (with another PREFIX, for example), just run qmake |
|
82 * with appropriate arguments again. |
|
83 * |
|
84 * If you need to specify additional include path or libraries, use |
|
85 * qmake features (see qmake reference in the Qt documentation). For |
|
86 * example: |
|
87 * |
|
88 \verbatim |
|
89 $ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include |
|
90 \endverbatim |
|
91 * (note abscence of "-I" before include path) |
|
92 * |
|
93 * To check if QuaZIP's basic features work ok on your platform, you may |
|
94 * wish to compile simple test programs provided in test directory. |
|
95 * Look in the sources of the tests to find out about their |
|
96 * requirements. Typically, the test looks something like this: |
|
97 \verbatim |
|
98 $ cd /wherever/quazip/source/is/quazip-x.y.z/test/zip |
|
99 $ qmake |
|
100 $ make |
|
101 $ ./zip |
|
102 $ cd ../unzip |
|
103 $ cp ../zip/test.zip ./test.zip |
|
104 $ mkdir out |
|
105 $ qmake |
|
106 $ make |
|
107 $ ./unzip |
|
108 \endverbatim |
|
109 * |
|
110 * You should see the zip contents with details as the output of the |
|
111 * "./unzip". Ignore message saying you should check the file name for |
|
112 * testCase() if you do not want to test |
|
113 * \link QuaZip::CaseSensitivity locale-aware case-insensitivity\endlink. |
|
114 * Otherwise, see the sources. In any case, this message appearing means |
|
115 * that everything else was fine. Otherwise, you will get some other error |
|
116 * message instead. Investigate it or send bug report including message, |
|
117 * platform and QuaZIP version used. |
|
118 * |
|
119 * To install compiled library: |
|
120 \verbatim |
|
121 $ make install |
|
122 \endverbatim |
|
123 * |
|
124 * By default, QuaZIP compiles as static library, but you have other |
|
125 * options: |
|
126 * - Just copy appropriate source files to your project and use them; |
|
127 * - Compile QuaZIP as shared library by changing "staticlib" in |
|
128 * quazip/quazip.pro to "dll". |
|
129 * |
|
130 * Latter is not recommended because future versions of QuaZIP most |
|
131 * probably will be binary incompatible. |
|
132 * |
|
133 * \section using Using |
|
134 * |
|
135 * See \ref usage "usage page". |
|
136 * |
|
137 * \section bugs Bugs |
|
138 * |
|
139 * QuaZIP is currently at the initial development stage. Therefore, |
|
140 * there are may be plenty of bugs and other bad things. Bug reports and |
|
141 * patches are always welcome (see "contacts" below). |
|
142 * |
|
143 * \section contacts Authors and contacts |
|
144 * |
|
145 * This wrapper has been written by Sergey A. Tachenov, AKA Alqualos. |
|
146 * This is my first open source project, so it may suck, but I did not |
|
147 * find anything like that, so I just had no other choice but to write |
|
148 * it. |
|
149 * |
|
150 * If you have anything to say to me about QuaZIP library, feel free to |
|
151 * do so (read the \ref faq first, though). I can not promise, |
|
152 * though, that I fix all the bugs you report in, add any features you |
|
153 * want, or respond to your critics, or respond to your feedback at all. |
|
154 * I may be busy, I may be tired of working on QuaZIP, I may be even |
|
155 * dead already (you never know...). But regardless of this remark, any |
|
156 * feedback is always welcome. This may seem like a paradox to you, but |
|
157 * you do not have to understand it to write feedback. |
|
158 * |
|
159 * To report bugs or to post ideas about what should be done, use |
|
160 * SourceForge.net's <a |
|
161 * href="http://sourceforge.net/tracker/?group_id=142688">trackers</a>. |
|
162 * If you want to send me a private message, use my e-mail address |
|
163 * laerel at yandex dot ru (but do not you dare to put it somewhere on |
|
164 * the Web or wherever). |
|
165 * |
|
166 * Do not use e-mail to report bugs, please. Reporting bugs and problems |
|
167 * with the SourceForge.net's bug report system has that advantage that |
|
168 * it is visible to public. |
|
169 * |
|
170 * \section other-projects My other projects |
|
171 * |
|
172 * As of this moment, I did not write any other useful open source |
|
173 * software (well, I am too lazy to do it) except for one little thing: |
|
174 * |
|
175 * <a href="http://brededor.narod.ru/progs/arcanum50patch.htm">Arcanum |
|
176 * universal cap remover</a>. Arcanum is the old but very good game, |
|
177 * which has one stupid limit: your character maximum level is 50, which |
|
178 * is too low for many players including me. So I wrote this simple |
|
179 * patch to increase this stupid limit to something acceptable. |
|
180 * |
|
181 * Also, my first Web project, which can be of any interest to you only |
|
182 * if you can read Russian and you are crazy ^_- This is a web site with |
|
183 * the main topic of it being The Delirium. It is totally meaningless |
|
184 * and it was purposely made to be such. Do not ask me why - I do not |
|
185 * know either. I just did that. If you are interested, then welcome to |
|
186 * <a href="http://brededor.narod.ru/">The Brededor</a>. It does not get |
|
187 * updated lately because I have become even lazier than I ever was. But |
|
188 * I do not plan to destroy The Brededor no matter what, because I think |
|
189 * it is fun. |
|
190 * |
|
191 * Copyright (C) 2005-2007 Sergey A. Tachenov |
|
192 **/ |