misc/quazip/doc/index.dox
author unc0rr
Sun, 04 Sep 2011 10:58:42 +0400
changeset 5752 ea95ee97c805
permissions -rw-r--r--
Add QuaZIP library to build system

/**
 * \mainpage QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package
 *
\htmlonly
<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=142688&amp;type=7" style="width:210; height:62; border:none; float:right;" alt="Powered by SourceForge.net" /></a>
\endhtmlonly
 * \section overview Overview
 * 
 * QuaZIP is a simple C++ wrapper over <a
 * href="http://www.winimage.com/zLibDll/unzip.html">Gilles Vollant's ZIP/UNZIP
 * package</a> that can be used to access ZIP archives. It uses <a
 * href="http://www.trolltech.com/products/qt/index.html">Trolltech's
 * Qt toolkit</a>.
 *
 * If you do not know what Qt is, you have two options:
 * - Just forget about QuaZIP.
 * - Learn more about Qt by downloading it and/or reading excellent <a
 *   href="http://doc.trolltech.com/">official Qt documentation</a>
 *
 * The choice is yours, but if you are really interested in
 * cross-platform (Windows/Linux/BSD/UNIX/Mac/Others) software
 * development, I would definitely recommend you the second choice ^_^
 *
 * QuaZIP allows you to access files inside ZIP archives using QIODevice
 * API, and - yes! - that means that you can also use QTextStream,
 * QDataStream or whatever you would like to use on your zipped files.
 *
 * QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both
 * reading from and writing to ZIP archives.
 *
 * \section platforms Platforms supported
 *
 * QuaZIP has been currently tested with Qt 4.0.0 on the following
 * platforms:
 * - linux-g++
 * - freebsd-g++
 * - hpux-acc
 * - win32-g++ (MinGW)
 * 
 * No testing has been done on other systems. Of course, patches to
 * make it work on any platform that it currently does not work on are
 * always welcome!
 *
 * \section whats-new What is new in this version of QuaZIP?
 *
 * See NEWS file supplied with the distribution.
 *
 * \section getting Getting latest version of QuaZIP
 *
 * Check <a href="http://sourceforge.net/projects/quazip/">QuaZIP
 * project's page at SourceForge.net</a>. Also, you may wish to read
 * latest version documentation available at the <a
 * href="http://quazip.sourceforge.net/">QuaZIP web site</a>.
 *
 * \section Requirements
 *
 * Just <a href="http://www.zlib.org/">zlib</a> and Qt 4. Well, Qt 4
 * depends on zlib anyway.
 *
 * \section building Building, testing and installing
 *
 * \note Instructions given in this section assume that you are
 * using some UNIX dialect, but the build process should be very similar
 * on win32-g++ platform too. Sorry, but other platforms are
 * undocumented. I do not think it is a big deal, though - it is
 * standard usage of the Qt's qmake, so you most probably already know
 * everything that is required.
 *
 * To build it on some UNIX dialect:
\verbatim
$ cd /wherever/quazip/source/is/quazip-x.y.z/quazip
$ qmake [PREFIX=where-to-install]
$ make
\endverbatim
 *
 * Make sure that you have Qt 4 installed with all required headers and
 * utilities (not just library) and that you run qmake utility of the Qt
 * 4, not some other version you may have already installed (you may
 * need to type full path to qmake like /usr/local/qt4/bin/qmake).
 *
 * To reconfigure (with another PREFIX, for example), just run qmake
 * with appropriate arguments again.
 *
 * If you need to specify additional include path or libraries, use
 * qmake features (see qmake reference in the Qt documentation). For
 * example:
 *
\verbatim
$ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include
\endverbatim
 * (note abscence of "-I" before include path)
 *
 * To check if QuaZIP's basic features work ok on your platform, you may
 * wish to compile simple test programs provided in test directory.
 * Look in the sources of the tests to find out about their
 * requirements. Typically, the test looks something like this:
\verbatim
$ cd /wherever/quazip/source/is/quazip-x.y.z/test/zip
$ qmake
$ make
$ ./zip
$ cd ../unzip
$ cp ../zip/test.zip ./test.zip
$ mkdir out
$ qmake
$ make
$ ./unzip
\endverbatim
 *
 * You should see the zip contents with details as the output of the
 * "./unzip". Ignore message saying you should check the file name for
 * testCase() if you do not want to test
 * \link QuaZip::CaseSensitivity locale-aware case-insensitivity\endlink.
 * Otherwise, see the sources. In any case, this message appearing means
 * that everything else was fine. Otherwise, you will get some other error
 * message instead. Investigate it or send bug report including message,
 * platform and QuaZIP version used.
 *
 * To install compiled library:
\verbatim
$ make install
\endverbatim
 *
 * By default, QuaZIP compiles as static library, but you have other
 * options:
 * - Just copy appropriate source files to your project and use them;
 * - Compile QuaZIP as shared library by changing "staticlib" in
 *   quazip/quazip.pro to "dll".
 *
 * Latter is not recommended because future versions of QuaZIP most
 * probably will be binary incompatible.
 *
 * \section using Using
 *
 * See \ref usage "usage page".
 * 
 * \section bugs Bugs
 *
 * QuaZIP is currently at the initial development stage. Therefore,
 * there are may be plenty of bugs and other bad things. Bug reports and
 * patches are always welcome (see "contacts" below).
 *
 * \section contacts Authors and contacts
 *
 * This wrapper has been written by Sergey A. Tachenov, AKA Alqualos.
 * This is my first open source project, so it may suck, but I did not
 * find anything like that, so I just had no other choice but to write
 * it.
 *
 * If you have anything to say to me about QuaZIP library, feel free to
 * do so (read the \ref faq first, though). I can not promise,
 * though, that I fix all the bugs you report in, add any features you
 * want, or respond to your critics, or respond to your feedback at all.
 * I may be busy, I may be tired of working on QuaZIP, I may be even
 * dead already (you never know...). But regardless of this remark, any
 * feedback is always welcome. This may seem like a paradox to you, but
 * you do not have to understand it to write feedback.
 *
 * To report bugs or to post ideas about what should be done, use
 * SourceForge.net's <a
 * href="http://sourceforge.net/tracker/?group_id=142688">trackers</a>.
 * If you want to send me a private message, use my e-mail address
 * laerel at yandex dot ru (but do not you dare to put it somewhere on
 * the Web or wherever).
 *
 * Do not use e-mail to report bugs, please. Reporting bugs and problems
 * with the SourceForge.net's bug report system has that advantage that
 * it is visible to public.
 *
 * \section other-projects My other projects
 *
 * As of this moment, I did not write any other useful open source
 * software (well, I am too lazy to do it) except for one little thing:
 *
 * <a href="http://brededor.narod.ru/progs/arcanum50patch.htm">Arcanum
 * universal cap remover</a>. Arcanum is the old but very good game,
 * which has one stupid limit: your character maximum level is 50, which
 * is too low for many players including me. So I wrote this simple
 * patch to increase this stupid limit to something acceptable.
 *
 * Also, my first Web project, which can be of any interest to you only
 * if you can read Russian and you are crazy ^_- This is a web site with
 * the main topic of it being The Delirium. It is totally meaningless
 * and it was purposely made to be such. Do not ask me why - I do not
 * know either. I just did that. If you are interested, then welcome to
 * <a href="http://brededor.narod.ru/">The Brededor</a>. It does not get
 * updated lately because I have become even lazier than I ever was. But
 * I do not plan to destroy The Brededor no matter what, because I think
 * it is fun.
 *
 * Copyright (C) 2005-2007 Sergey A. Tachenov
 **/