|
FFSM++ 1.1.0
French Forest Sector Model ++
|
PKZip 2.0 file decompression. Compatibility with later versions is not ensured as they may use unsupported compression algorithms. Versions after 2.7 may have an incompatible header format and thus be completely incompatible. More...
#include <unzip.h>

Classes | |
| struct | ZipEntry |
Public Types | |
| enum | ErrorCode { Ok , ZlibInit , ZlibError , OpenFailed , PartiallyCorrupted , Corrupted , WrongPassword , NoOpenArchive , FileNotFound , ReadFailed , WriteFailed , SeekFailed , CreateDirFailed , InvalidDevice , InvalidArchive , HeaderConsistencyError , Skip , SkipAll } |
| enum | ExtractionOption { ExtractPaths = 0x0001 , SkipPaths = 0x0002 } |
| enum | CompressionMethod { NoCompression , Deflated , UnknownCompression } |
| enum | FileType { File , Directory } |
Public Member Functions | |
| UnZip () | |
| virtual | ~UnZip () |
| bool | isOpen () const |
| ErrorCode | openArchive (const QString &filename) |
| ErrorCode | openArchive (QIODevice *device) |
| void | closeArchive () |
| QString | archiveComment () const |
| QString | formatError (UnZip::ErrorCode c) const |
| bool | contains (const QString &file) const |
| QStringList | fileList () const |
| QList< ZipEntry > | entryList () const |
| ErrorCode | extractAll (const QString &dirname, ExtractionOptions options=ExtractPaths) |
| ErrorCode | extractAll (const QDir &dir, ExtractionOptions options=ExtractPaths) |
| ErrorCode | extractFile (const QString &filename, const QString &dirname, ExtractionOptions options=ExtractPaths) |
| ErrorCode | extractFile (const QString &filename, const QDir &dir, ExtractionOptions options=ExtractPaths) |
| ErrorCode | extractFile (const QString &filename, QIODevice *device, ExtractionOptions options=ExtractPaths) |
| ErrorCode | extractFiles (const QStringList &filenames, const QString &dirname, ExtractionOptions options=ExtractPaths) |
| ErrorCode | extractFiles (const QStringList &filenames, const QDir &dir, ExtractionOptions options=ExtractPaths) |
| void | setPassword (const QString &pwd) |
Private Attributes | |
| UnzipPrivate * | d |
PKZip 2.0 file decompression. Compatibility with later versions is not ensured as they may use unsupported compression algorithms. Versions after 2.7 may have an incompatible header format and thus be completely incompatible.
| enum CompressionMethod |
| enum ErrorCode |
The result of a decompression operation. \value UnZip::Ok No error occurred. \value UnZip::ZlibInit Failed to init or load the zlib library. \value UnZip::ZlibError The zlib library returned some error. \value UnZip::OpenFailed Unable to create or open a device. \value UnZip::PartiallyCorrupted Corrupted zip archive - some files could be extracted. \value UnZip::Corrupted Corrupted or invalid zip archive. \value UnZip::WrongPassword Unable to decrypt a password protected file. \value UnZip::NoOpenArchive No archive has been opened yet. \value UnZip::FileNotFound Unable to find the requested file in the archive. \value UnZip::ReadFailed Reading of a file failed. \value UnZip::WriteFailed Writing of a file failed. \value UnZip::SeekFailed Seek failed. \value UnZip::CreateDirFailed Could not create a directory. \value UnZip::InvalidDevice A null device has been passed as parameter. \value UnZip::InvalidArchive This is not a valid (or supported) ZIP archive. \value UnZip::HeaderConsistencyError Local header record info does not match with the central directory record info. The archive may be corrupted.
\value UnZip::Skip Internal use only. \value UnZip::SkipAll Internal use only.
Definition at line 48 of file unzip.h.
| enum ExtractionOption |
| Enumerator | |
|---|---|
| ExtractPaths | Extracts paths (default) |
| SkipPaths | Ignores paths and extracts all the files to the same directory. |
Definition at line 70 of file unzip.h.
| UnZip | ( | ) |
Creates a new Zip file decompressor.
|
virtual |
Closes any open archive and releases used resources.
Definition at line 173 of file unzip.cpp.

| QString archiveComment | ( | ) | const |
Definition at line 231 of file unzip.cpp.
Referenced by listFiles().

| void closeArchive | ( | ) |
Closes the archive and releases all the used resources (like cached passwords).
Definition at line 226 of file unzip.cpp.
Referenced by decompress(), listFiles(), ModelData::loadInput(), UnzipPrivate::openArchive(), and ~UnZip().


| bool contains | ( | const QString & | file | ) | const |
| QList< UnZip::ZipEntry > entryList | ( | ) | const |
Returns information for each (correctly parsed) entry of this archive.
Definition at line 289 of file unzip.cpp.
Referenced by listFiles().


| UnZip::ErrorCode extractAll | ( | const QDir & | dir, |
| ExtractionOptions | options = ExtractPaths |
||
| ) |
Extracts the whole archive to a directory.
Definition at line 333 of file unzip.cpp.

| UnZip::ErrorCode extractAll | ( | const QString & | dirname, |
| ExtractionOptions | options = ExtractPaths |
||
| ) |
Extracts the whole archive to a directory.
Definition at line 325 of file unzip.cpp.
Referenced by decompress(), extractAll(), and ModelData::loadInput().


| UnZip::ErrorCode extractFile | ( | const QString & | filename, |
| const QDir & | dir, | ||
| ExtractionOptions | options = ExtractPaths |
||
| ) |
| UnZip::ErrorCode extractFile | ( | const QString & | filename, |
| const QString & | dirname, | ||
| ExtractionOptions | options = ExtractPaths |
||
| ) |
Extracts a single file to a directory.
Definition at line 380 of file unzip.cpp.
Referenced by extractFile(), UnzipPrivate::extractFile(), extractFiles(), and extractFiles().


| UnZip::ErrorCode extractFile | ( | const QString & | filename, |
| QIODevice * | dev, | ||
| ExtractionOptions | options = ExtractPaths |
||
| ) |
| UnZip::ErrorCode extractFiles | ( | const QStringList & | filenames, |
| const QDir & | dir, | ||
| ExtractionOptions | options = ExtractPaths |
||
| ) |
Extracts a list of files. Stops extraction at the first error (but continues if a file does not exist in the archive).
Definition at line 444 of file unzip.cpp.

| UnZip::ErrorCode extractFiles | ( | const QStringList & | filenames, |
| const QString & | dirname, | ||
| ExtractionOptions | options = ExtractPaths |
||
| ) |
Extracts a list of files. Stops extraction at the first error (but continues if a file does not exist in the archive).
Definition at line 423 of file unzip.cpp.

| QStringList fileList | ( | ) | const |
| QString formatError | ( | UnZip::ErrorCode | c | ) | const |
Returns a locale translated error string for a given error code.
Definition at line 241 of file unzip.cpp.
Referenced by decompress(), listFiles(), and ModelData::loadInput().

| bool isOpen | ( | ) | const |
| UnZip::ErrorCode openArchive | ( | const QString & | filename | ) |
Opens a zip archive and reads the files list. Closes any previously opened archive.
Definition at line 190 of file unzip.cpp.
Referenced by decompress(), listFiles(), ModelData::loadInput(), and openArchive().


| UnZip::ErrorCode openArchive | ( | QIODevice * | device | ) |
Opens a zip archive and reads the entries list. Closes any previously opened archive.
Definition at line 212 of file unzip.cpp.

| void setPassword | ( | const QString & | pwd | ) |
Remove/replace this method to add your own password retrieval routine.
Definition at line 463 of file unzip.cpp.
Referenced by decompress(), and listFiles().

|
private |
Definition at line 139 of file unzip.h.
Referenced by archiveComment(), closeArchive(), contains(), UnzipPrivate::createDirectory(), entryList(), extractAll(), extractFile(), extractFile(), fileList(), isOpen(), openArchive(), setPassword(), UnZip(), and ~UnZip().