misc/quazip/doc/index.dox
changeset 5752 ea95ee97c805
equal deleted inserted replaced
5750:6bbf7aee2cdf 5752:ea95ee97c805
       
     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&amp;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  **/