28 #include <QtCore/QIODevice>
30 #include "quazip_global.h"
32 #include "quazipnewinfo.h"
84 qint64 readData(
char *data, qint64 maxSize)
override;
86 qint64 writeData(
const char *data, qint64 maxSize)
override;
110 QuaZipFile(
const QString& zipName, QObject *parent =
nullptr);
121 QuaZipFile(
const QString& zipName,
const QString& fileName,
188 QString getZipName()
const;
207 QString getFileName()
const;
246 QString getActualFileName()
const;
254 void setZipName(
const QString& zipName);
292 bool open(OpenMode mode)
override;
298 inline bool open(OpenMode mode,
const char *password)
299 {
return open(mode,
nullptr,
nullptr,
false, password);}
312 bool open(OpenMode mode,
int *method,
int *level,
bool raw,
const char *password =
nullptr);
347 const char *password =
nullptr, quint32 crc =0,
348 int method =Z_DEFLATED,
int level =Z_DEFAULT_COMPRESSION,
bool raw =
false,
349 int windowBits =-MAX_WBITS,
int memLevel =DEF_MEM_LEVEL,
int strategy =Z_DEFAULT_STRATEGY);
351 bool isSequential()
const override;
374 qint64 pos()
const override;
392 bool atEnd()
const override;
406 qint64 size()
const override;
454 void close()
override;
456 int getZipError()
const;
458 qint64 bytesAvailable()
const override;
470 QByteArray getLocalExtraField();
486 QDateTime getExtModTime();
498 QDateTime getExtAcTime();
510 QDateTime getExtCrTime();
bool atEnd() const override
Returns true if the end of file was reached.
Definition: quazipfile.cpp:401
bool open(Mode mode, zlib_filefunc_def *ioApi=nullptr)
Opens ZIP file.
Definition: quazip.cpp:235
QDateTime getExtAcTime()
Returns the extended access timestamp.
Definition: quazipfile.cpp:558
bool toQuaZipFileInfo(QuaZipFileInfo &info) const
Converts to QuaZipFileInfo.
Definition: quazipfileinfo.cpp:70
qint64 usize() const
Returns uncompressed file size.
Definition: quazipfile.cpp:440
@ mdAppend
Definition: quazip.h:98
bool isOpen() const
Returns true if ZIP file is open, false otherwise.
Definition: quazip.cpp:648
void setFileName(const QString &fileName, QuaZip::CaseSensitivity cs=QuaZip::csDefault)
Sets the file name.
Definition: quazipfile.cpp:224
QDateTime getExtCrTime()
Returns the extended creation timestamp.
Definition: quazipfile.cpp:563
QuaZipFile()
Constructs a QuaZipFile instance.
Definition: quazipfile.cpp:141
QDateTime getExtModTime()
Returns the extended modification timestamp.
Definition: quazipfile.cpp:553
qint64 pos() const override
Returns current position in the file.
Definition: quazipfile.cpp:383
Mode getMode() const
Returns the mode in which ZIP file was opened.
Definition: quazip.cpp:643
@ mdCreate
ZIP file was created with open() call.
Definition: quazip.h:97
qint64 size() const override
Returns file size.
Definition: quazipfile.cpp:418
ulong uncompressedSize
Uncompressed file size.
Definition: quazipnewinfo.h:84
~QuaZipFile() override
Destroys a QuaZipFile instance.
Definition: quazipfile.cpp:171
@ mdUnzip
ZIP file is open for reading files inside it.
Definition: quazip.h:96
quint16 internalAttr
File internal attributes.
Definition: quazipnewinfo.h:64
bool isZip64Enabled() const
Returns whether the zip64 mode is enabled.
Definition: quazip.cpp:811
uint getOsCode() const
Returns the OS code for new files.
Definition: quazip.cpp:606
QByteArray extraLocal
File local extra field.
Definition: quazipnewinfo.h:77
bool isUtf8Enabled() const
Returns whether the UTF-8 encoding mode is enabled.
Definition: quazip.cpp:821
QString comment
File comment.
Definition: quazipnewinfo.h:75
bool getCurrentFileInfo(QuaZipFileInfo *info) const
Retrieves information about the current file.
Definition: quazip.cpp:509
int getZipError() const
Returns the error code returned by the last ZIP/UNZIP API call.
Definition: quazipfile.cpp:531
int getZipError() const
Returns the error code of the last operation.
Definition: quazip.cpp:653
bool setCurrentFile(const QString &fileName, CaseSensitivity cs=csDefault)
Sets current file by its name.
Definition: quazip.cpp:425
Information about a file inside archive.
Definition: quazipfileinfo.h:45
QuaZip::CaseSensitivity getCaseSensitivity() const
Returns case sensitivity of the file name.
Definition: quazipfile.cpp:521
QString getZipName() const
Returns the name of the ZIP file.
Definition: quazip.cpp:631
QByteArray extraGlobal
File global extra field.
Definition: quazipnewinfo.h:79
QString getFileName() const
Returns file name.
Definition: quazipfile.cpp:516
QString getActualFileName() const
Returns the actual file name in the archive.
Definition: quazipfile.cpp:188
unzFile getUnzFile()
Returns unzFile handle.
Definition: quazip.cpp:668
CaseSensitivity
Case sensitivity for the file names.
Definition: quazip.h:114
bool getFileInfo(QuaZipFileInfo *info)
Gets information about current file.
Definition: quazipfile.cpp:451
A file inside ZIP archive.
Definition: quazipfile.h:74
QString name
File name.
Definition: quazipnewinfo.h:55
ZIP archive.
Definition: quazip.h:84
bool isDataDescriptorWritingEnabled() const
Returns the data descriptor default writing mode.
Definition: quazip.cpp:683
QTextCodec * getFileNameCodec() const
Returns the codec used to encode/decode comments inside archive.
Definition: quazip.cpp:611
zipFile getZipFile()
Returns zipFile handle.
Definition: quazip.cpp:673
bool isSequential() const override
Returns true, but beware!
Definition: quazipfile.cpp:378
quint32 externalAttr
File external attributes.
Definition: quazipnewinfo.h:71
bool open(OpenMode mode) override
Opens a file for reading.
Definition: quazipfile.cpp:254
QDateTime dateTime
File timestamp.
Definition: quazipnewinfo.h:62
void close() override
Closes the file.
Definition: quazipfile.cpp:469
qint64 csize() const
Returns compressed file size.
Definition: quazipfile.cpp:429
The implementation class for QuaZip.
Definition: quazipfile.cpp:41
bool open(OpenMode mode, const char *password)
Opens a file for reading.
Definition: quazipfile.h:298
static QDateTime getExtTime(const QByteArray &extra, int flag)
Extracts extended time from the extra field.
Definition: quazipfileinfo.cpp:149
void setZip(QuaZip *zip)
Binds to the existing QuaZip instance.
Definition: quazipfile.cpp:211
qint64 bytesAvailable() const override
Returns the number of bytes available for reading.
Definition: quazipfile.cpp:536
QByteArray getLocalExtraField()
Returns the local extra field.
Definition: quazipfile.cpp:541
@ csDefault
Default for platform. Case sensitive for UNIX, not for Windows.
Definition: quazip.h:115
QString getCurrentFileName() const
Returns the current file name.
Definition: quazip.cpp:567
bool hasCurrentFile() const
Returns true if the current file has been set.
Definition: quazip.cpp:663
Information about a file inside archive (with zip64 support).
Definition: quazipfileinfo.h:85
void close()
Closes ZIP file.
Definition: quazip.cpp:341
Information about a file to be created.
Definition: quazipnewinfo.h:50
void setZipName(const QString &zipName)
Sets the ZIP archive file name.
Definition: quazipfile.cpp:199
qint64 writeData(const char *data, qint64 maxSize) override
Implementation of the QIODevice::writeData().
Definition: quazipfile.cpp:505
QuaZip * getZip() const
Returns a pointer to the associated QuaZip object.
Definition: quazipfile.cpp:183
qint64 readData(char *data, qint64 maxSize) override
Implementation of the QIODevice::readData().
Definition: quazipfile.cpp:494
@ mdAdd
ZIP file was opened for adding files in the archive.
Definition: quazip.h:106
QString getZipName() const
Returns the ZIP archive file name.
Definition: quazipfile.cpp:178
QTextCodec * getCommentCodec() const
Returns the codec used to encode/decode comments inside archive.
Definition: quazip.cpp:626
bool isRaw() const
Returns true if the file was opened in raw mode.
Definition: quazipfile.cpp:526