misc/quazip/quazip.h
author nemo
Fri, 23 Mar 2012 18:20:59 -0400
changeset 6810 5337f554480e
parent 5752 ea95ee97c805
child 7889 57b117d441b9
permissions -rw-r--r--
This has bugged me for a while. Since we are missing the source SVGs for this theme, removed the leaves crudely in GIMP. Also added some basic roots. Someone more artistic is encouraged to try and improve it.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5752
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     1
#ifndef QUA_ZIP_H
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     2
#define QUA_ZIP_H
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     3
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     4
/*
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     5
Copyright (C) 2005-2011 Sergey A. Tachenov
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     6
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     7
This program is free software; you can redistribute it and/or modify it
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     8
under the terms of the GNU Lesser General Public License as published by
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
     9
the Free Software Foundation; either version 2 of the License, or (at
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    10
your option) any later version.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    11
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    12
This program is distributed in the hope that it will be useful, but
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    13
WITHOUT ANY WARRANTY; without even the implied warranty of
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    15
General Public License for more details.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    16
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    17
You should have received a copy of the GNU Lesser General Public License
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    18
along with this program; if not, write to the Free Software Foundation,
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    19
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    20
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    21
See COPYING file for the full LGPL text.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    22
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    23
Original ZIP package is copyrighted by Gilles Vollant, see
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    24
quazip/(un)zip.h files for details, basically it's zlib license.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    25
 **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    26
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    27
#include <QString>
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    28
#include <QTextCodec>
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    29
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    30
#include "zip.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    31
#include "unzip.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    32
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    33
#include "quazip_global.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    34
#include "quazipfileinfo.h"
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    35
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    36
// just in case it will be defined in the later versions of the ZIP/UNZIP
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    37
#ifndef UNZ_OPENERROR
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    38
// define additional error code
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    39
#define UNZ_OPENERROR -1000
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    40
#endif
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    41
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    42
class QuaZipPrivate;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    43
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    44
/// ZIP archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    45
/** \class QuaZip quazip.h <quazip/quazip.h>
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    46
 * This class implements basic interface to the ZIP archive. It can be
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    47
 * used to read table contents of the ZIP archive and retreiving
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    48
 * information about the files inside it.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    49
 *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    50
 * You can also use this class to open files inside archive by passing
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    51
 * pointer to the instance of this class to the constructor of the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    52
 * QuaZipFile class. But see QuaZipFile::QuaZipFile(QuaZip*, QObject*)
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    53
 * for the possible pitfalls.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    54
 *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    55
 * This class is indended to provide interface to the ZIP subpackage of
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    56
 * the ZIP/UNZIP package as well as to the UNZIP subpackage. But
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    57
 * currently it supports only UNZIP.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    58
 *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    59
 * The use of this class is simple - just create instance using
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    60
 * constructor, then set ZIP archive file name using setFile() function
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    61
 * (if you did not passed the name to the constructor), then open() and
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    62
 * then use different functions to work with it! Well, if you are
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    63
 * paranoid, you may also wish to call close before destructing the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    64
 * instance, to check for errors on close.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    65
 *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    66
 * You may also use getUnzFile() and getZipFile() functions to get the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    67
 * ZIP archive handle and use it with ZIP/UNZIP package API directly.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    68
 *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    69
 * This class supports localized file names inside ZIP archive, but you
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    70
 * have to set up proper codec with setCodec() function. By default,
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    71
 * locale codec will be used, which is probably ok for UNIX systems, but
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    72
 * will almost certainly fail with ZIP archives created in Windows. This
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    73
 * is because Windows ZIP programs have strange habit of using DOS
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    74
 * encoding for file names in ZIP archives. For example, ZIP archive
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    75
 * with cyrillic names created in Windows will have file names in \c
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    76
 * IBM866 encoding instead of \c WINDOWS-1251. I think that calling one
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    77
 * function is not much trouble, but for true platform independency it
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    78
 * would be nice to have some mechanism for file name encoding auto
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    79
 * detection using locale information. Does anyone know a good way to do
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    80
 * it?
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    81
 **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    82
class QUAZIP_EXPORT QuaZip {
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    83
  friend class QuaZipPrivate;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    84
  public:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    85
    /// Useful constants.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    86
    enum Constants {
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    87
      MAX_FILE_NAME_LENGTH=256 /**< Maximum file name length. Taken from
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    88
                                 \c UNZ_MAXFILENAMEINZIP constant in
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    89
                                 unzip.c. */
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    90
    };
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    91
    /// Open mode of the ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    92
    enum Mode {
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    93
      mdNotOpen, ///< ZIP file is not open. This is the initial mode.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    94
      mdUnzip, ///< ZIP file is open for reading files inside it.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    95
      mdCreate, ///< ZIP file was created with open() call.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    96
      mdAppend, /**< ZIP file was opened in append mode. This refers to
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    97
                  * \c APPEND_STATUS_CREATEAFTER mode in ZIP/UNZIP package
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    98
                  * and means that zip is appended to some existing file
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
    99
                  * what is useful when that file contains
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   100
                  * self-extractor code. This is obviously \em not what
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   101
                  * you whant to use to add files to the existing ZIP
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   102
                  * archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   103
                  **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   104
      mdAdd ///< ZIP file was opened for adding files in the archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   105
    };
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   106
    /// Case sensitivity for the file names.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   107
    /** This is what you specify when accessing files in the archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   108
     * Works perfectly fine with any characters thanks to Qt's great
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   109
     * unicode support. This is different from ZIP/UNZIP API, where
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   110
     * only US-ASCII characters was supported.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   111
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   112
    enum CaseSensitivity {
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   113
      csDefault=0, ///< Default for platform. Case sensitive for UNIX, not for Windows.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   114
      csSensitive=1, ///< Case sensitive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   115
      csInsensitive=2 ///< Case insensitive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   116
    };
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   117
  private:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   118
    QuaZipPrivate *p;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   119
    // not (and will not be) implemented
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   120
    QuaZip(const QuaZip& that);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   121
    // not (and will not be) implemented
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   122
    QuaZip& operator=(const QuaZip& that);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   123
  public:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   124
    /// Constructs QuaZip object.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   125
    /** Call setName() before opening constructed object. */
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   126
    QuaZip();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   127
    /// Constructs QuaZip object associated with ZIP file \a zipName.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   128
    QuaZip(const QString& zipName);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   129
    /// Constructs QuaZip object associated with ZIP file represented by \a ioDevice.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   130
    /** The IO device must be seekable, otherwise an error will occur when opening. */
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   131
    QuaZip(QIODevice *ioDevice);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   132
    /// Destroys QuaZip object.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   133
    /** Calls close() if necessary. */
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   134
    ~QuaZip();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   135
    /// Opens ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   136
    /**
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   137
     * Argument \a mode specifies open mode of the ZIP archive. See Mode
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   138
     * for details. Note that there is zipOpen2() function in the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   139
     * ZIP/UNZIP API which accepts \a globalcomment argument, but it
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   140
     * does not use it anywhere, so this open() function does not have this
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   141
     * argument. See setComment() if you need to set global comment.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   142
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   143
     * If the ZIP file is accessed via explicitly set QIODevice, then
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   144
     * this device is opened in the necessary mode. If the device was
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   145
     * already opened by some other means, then the behaviour is defined by
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   146
     * the device implementation, but generally it is not a very good
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   147
     * idea. For example, QFile will at least issue a warning.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   148
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   149
     * \return \c true if successful, \c false otherwise.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   150
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   151
     * \note ZIP/UNZIP API open calls do not return error code - they
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   152
     * just return \c NULL indicating an error. But to make things
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   153
     * easier, quazip.h header defines additional error code \c
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   154
     * UNZ_ERROROPEN and getZipError() will return it if the open call
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   155
     * of the ZIP/UNZIP API returns \c NULL.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   156
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   157
     * Argument \a ioApi specifies IO function set for ZIP/UNZIP
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   158
     * package to use. See unzip.h, zip.h and ioapi.h for details. Note
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   159
     * that IO API for QuaZip is different from the original package.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   160
     * The file path argument was changed to be of type \c voidpf, and
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   161
     * QuaZip passes a QIODevice pointer there. This QIODevice is either
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   162
     * set explicitly via setIoDevice() or the QuaZip(QIODevice*)
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   163
     * constructor, or it is created internally when opening the archive
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   164
     * by its file name. The default API (qioapi.cpp) just delegates
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   165
     * everything to the QIODevice API. Not only this allows to use a
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   166
     * QIODevice instead of file name, but also has a nice side effect
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   167
     * of raising the file size limit from 2G to 4G.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   168
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   169
     * In short: just forget about the \a ioApi argument and you'll be
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   170
     * fine.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   171
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   172
    bool open(Mode mode, zlib_filefunc_def *ioApi =NULL);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   173
    /// Closes ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   174
    /** Call getZipError() to determine if the close was successful. The
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   175
     * underlying QIODevice is also closed, regardless of whether it was
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   176
     * set explicitly or not. */
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   177
    void close();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   178
    /// Sets the codec used to encode/decode file names inside archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   179
    /** This is necessary to access files in the ZIP archive created
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   180
     * under Windows with non-latin characters in file names. For
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   181
     * example, file names with cyrillic letters will be in \c IBM866
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   182
     * encoding.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   183
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   184
    void setFileNameCodec(QTextCodec *fileNameCodec);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   185
    /// Sets the codec used to encode/decode file names inside archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   186
    /** \overload
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   187
     * Equivalent to calling setFileNameCodec(QTextCodec::codecForName(codecName));
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   188
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   189
    void setFileNameCodec(const char *fileNameCodecName);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   190
    /// Returns the codec used to encode/decode comments inside archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   191
    QTextCodec* getFileNameCodec() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   192
    /// Sets the codec used to encode/decode comments inside archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   193
    /** This codec defaults to locale codec, which is probably ok.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   194
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   195
    void setCommentCodec(QTextCodec *commentCodec);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   196
    /// Sets the codec used to encode/decode comments inside archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   197
    /** \overload
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   198
     * Equivalent to calling setCommentCodec(QTextCodec::codecForName(codecName));
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   199
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   200
    void setCommentCodec(const char *commentCodecName);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   201
    /// Returns the codec used to encode/decode comments inside archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   202
    QTextCodec* getCommentCodec() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   203
    /// Returns the name of the ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   204
    /** Returns null string if no ZIP file name has been set, for
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   205
     * example when the QuaZip instance is set up to use a QIODevice
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   206
     * instead.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   207
     * \sa setZipName(), setIoDevice(), getIoDevice()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   208
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   209
    QString getZipName() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   210
    /// Sets the name of the ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   211
    /** Does nothing if the ZIP file is open.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   212
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   213
     * Does not reset error code returned by getZipError().
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   214
     * \sa setIoDevice(), getIoDevice(), getZipName()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   215
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   216
    void setZipName(const QString& zipName);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   217
    /// Returns the device representing this ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   218
    /** Returns null string if no device has been set explicitly, for
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   219
     * example when opening a ZIP file by name.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   220
     * \sa setIoDevice(), getZipName(), setZipName()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   221
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   222
    QIODevice *getIoDevice() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   223
    /// Sets the device representing the ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   224
    /** Does nothing if the ZIP file is open.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   225
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   226
     * Does not reset error code returned by getZipError().
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   227
     * \sa getIoDevice(), getZipName(), setZipName()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   228
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   229
    void setIoDevice(QIODevice *ioDevice);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   230
    /// Returns the mode in which ZIP file was opened.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   231
    Mode getMode() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   232
    /// Returns \c true if ZIP file is open, \c false otherwise.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   233
    bool isOpen() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   234
    /// Returns the error code of the last operation.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   235
    /** Returns \c UNZ_OK if the last operation was successful.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   236
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   237
     * Error code resets to \c UNZ_OK every time you call any function
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   238
     * that accesses something inside ZIP archive, even if it is \c
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   239
     * const (like getEntriesCount()). open() and close() calls reset
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   240
     * error code too. See documentation for the specific functions for
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   241
     * details on error detection.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   242
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   243
    int getZipError() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   244
    /// Returns number of the entries in the ZIP central directory.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   245
    /** Returns negative error code in the case of error. The same error
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   246
     * code will be returned by subsequent getZipError() call.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   247
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   248
    int getEntriesCount() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   249
    /// Returns global comment in the ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   250
    QString getComment() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   251
    /// Sets global comment in the ZIP file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   252
    /** Comment will be written to the archive on close operation.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   253
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   254
     * \sa open()
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   255
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   256
    void setComment(const QString& comment);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   257
    /// Sets the current file to the first file in the archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   258
    /** Returns \c true on success, \c false otherwise. Call
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   259
     * getZipError() to get the error code.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   260
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   261
    bool goToFirstFile();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   262
    /// Sets the current file to the next file in the archive.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   263
    /** Returns \c true on success, \c false otherwise. Call
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   264
     * getZipError() to determine if there was an error.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   265
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   266
     * Should be used only in QuaZip::mdUnzip mode.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   267
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   268
     * \note If the end of file was reached, getZipError() will return
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   269
     * \c UNZ_OK instead of \c UNZ_END_OF_LIST_OF_FILE. This is to make
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   270
     * things like this easier:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   271
     * \code
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   272
     * for(bool more=zip.goToFirstFile(); more; more=zip.goToNextFile()) {
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   273
     *   // do something
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   274
     * }
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   275
     * if(zip.getZipError()==UNZ_OK) {
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   276
     *   // ok, there was no error
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   277
     * }
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   278
     * \endcode
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   279
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   280
    bool goToNextFile();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   281
    /// Sets current file by its name.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   282
    /** Returns \c true if successful, \c false otherwise. Argument \a
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   283
     * cs specifies case sensitivity of the file name. Call
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   284
     * getZipError() in the case of a failure to get error code.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   285
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   286
     * This is not a wrapper to unzLocateFile() function. That is
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   287
     * because I had to implement locale-specific case-insensitive
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   288
     * comparison.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   289
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   290
     * Here are the differences from the original implementation:
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   291
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   292
     * - If the file was not found, error code is \c UNZ_OK, not \c
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   293
     *   UNZ_END_OF_LIST_OF_FILE (see also goToNextFile()).
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   294
     * - If this function fails, it unsets the current file rather than
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   295
     *   resetting it back to what it was before the call.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   296
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   297
     * If \a fileName is null string then this function unsets the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   298
     * current file and return \c true. Note that you should close the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   299
     * file first if it is open! See
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   300
     * QuaZipFile::QuaZipFile(QuaZip*,QObject*) for the details.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   301
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   302
     * Should be used only in QuaZip::mdUnzip mode.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   303
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   304
     * \sa setFileNameCodec(), CaseSensitivity
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   305
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   306
    bool setCurrentFile(const QString& fileName, CaseSensitivity cs =csDefault);
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   307
    /// Returns \c true if the current file has been set.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   308
    bool hasCurrentFile() const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   309
    /// Retrieves information about the current file.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   310
    /** Fills the structure pointed by \a info. Returns \c true on
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   311
     * success, \c false otherwise. In the latter case structure pointed
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   312
     * by \a info remains untouched. If there was an error,
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   313
     * getZipError() returns error code.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   314
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   315
     * Should be used only in QuaZip::mdUnzip mode.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   316
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   317
     * Does nothing and returns \c false in any of the following cases.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   318
     * - ZIP is not open;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   319
     * - ZIP does not have current file;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   320
     * - \a info is \c NULL;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   321
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   322
     * In all these cases getZipError() returns \c UNZ_OK since there
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   323
     * is no ZIP/UNZIP API call.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   324
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   325
    bool getCurrentFileInfo(QuaZipFileInfo* info)const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   326
    /// Returns the current file name.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   327
    /** Equivalent to calling getCurrentFileInfo() and then getting \c
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   328
     * name field of the QuaZipFileInfo structure, but faster and more
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   329
     * convenient.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   330
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   331
     * Should be used only in QuaZip::mdUnzip mode.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   332
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   333
    QString getCurrentFileName()const;
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   334
    /// Returns \c unzFile handle.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   335
    /** You can use this handle to directly call UNZIP part of the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   336
     * ZIP/UNZIP package functions (see unzip.h).
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   337
     *
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   338
     * \warning When using the handle returned by this function, please
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   339
     * keep in mind that QuaZip class is unable to detect any changes
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   340
     * you make in the ZIP file state (e. g. changing current file, or
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   341
     * closing the handle). So please do not do anything with this
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   342
     * handle that is possible to do with the functions of this class.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   343
     * Or at least return the handle in the original state before
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   344
     * calling some another function of this class (including implicit
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   345
     * destructor calls and calls from the QuaZipFile objects that refer
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   346
     * to this QuaZip instance!). So if you have changed the current
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   347
     * file in the ZIP archive - then change it back or you may
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   348
     * experience some strange behavior or even crashes.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   349
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   350
    unzFile getUnzFile();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   351
    /// Returns \c zipFile handle.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   352
    /** You can use this handle to directly call ZIP part of the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   353
     * ZIP/UNZIP package functions (see zip.h). Warnings about the
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   354
     * getUnzFile() function also apply to this function.
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   355
     **/
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   356
    zipFile getZipFile();
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   357
};
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   358
ea95ee97c805 Add QuaZIP library to build system
unc0rr
parents:
diff changeset
   359
#endif