8#include <QtCore/private/qglobal_p.h>
21#include <QtCore/qstring.h>
22#include <QtCore/qfile.h>
31 explicit QZipWriter(
const QString &fileName, QIODevice::OpenMode mode = (QIODevice::WriteOnly | QIODevice::Truncate) );
33 explicit QZipWriter(QIODevice *device);
36 QIODevice* device()
const;
38 bool isWritable()
const;
49 Status status()
const;
51 enum CompressionPolicy {
57 void setCompressionPolicy(CompressionPolicy policy);
58 CompressionPolicy compressionPolicy()
const;
60 void setCreationPermissions(QFile::Permissions permissions);
61 QFile::Permissions creationPermissions()
const;
63 void addFile(
const QString &fileName,
const QByteArray &data);
65 void addFile(
const QString &fileName, QIODevice *device);
67 void addDirectory(
const QString &dirName);
69 void addSymLink(
const QString &fileName,
const QString &destination);
74 Q_DISABLE_COPY_MOVE(QZipWriter)
QList< FileHeader > fileHeaders
QZipPrivate(QIODevice *device, bool ownDev)
QZipReaderPrivate(QIODevice *device, bool ownDev)
\variable QZipReader::FileInfo::filePath The full filepath inside the archive.
void addEntry(EntryType type, const QString &fileName, const QByteArray &contents)
QFile::Permissions permissions
QZipWriterPrivate(QIODevice *device, bool ownDev)
the QZipWriter class provides a way to create a new zip archive.
static QFile::Permissions modeToPermissions(quint32 mode)
static void copyUShort(uchar *dest, const uchar *src)
Q_DECLARE_TYPEINFO(HostOS, Q_PRIMITIVE_TYPE)
static void copyUInt(uchar *dest, const uchar *src)
@ CompressionMethodReduced1
@ CompressionMethodReduced4
@ CompressionMethodDeflated
@ CompressionMethodReduced2
@ CompressionMethodStored
@ CompressionMethodReduced3
@ CompressionMethodReservedTokenizing
@ CompressionMethodWavPack
@ CompressionMethodShrunk
@ CompressionMethodDeflated64
@ CompressionMethodImploded
@ CompressionMethodPKImploding
Q_DECLARE_TYPEINFO(FileHeader, Q_RELOCATABLE_TYPE)
static void writeUInt(uchar *data, uint i)
Q_DECLARE_TYPEINFO(CompressionMethod, Q_PRIMITIVE_TYPE)
static QDateTime readMSDosDate(const uchar *src)
static void writeMSDosDate(uchar *dest, const QDateTime &dt)
Q_DECLARE_TYPEINFO(CentralFileHeader, Q_PRIMITIVE_TYPE)
static LocalFileHeader toLocalHeader(const CentralFileHeader &ch)
Q_DECLARE_TYPEINFO(LocalFileHeader, Q_PRIMITIVE_TYPE)
static quint32 permissionsToMode(QFile::Permissions perms)
static void writeUShort(uchar *data, ushort i)
@ CentralDirectoryEncrypted
static int inflate(Bytef *dest, ulong *destLen, const Bytef *source, ulong sourceLen)
static int deflate(Bytef *dest, ulong *destLen, const Bytef *source, ulong sourceLen)
Q_DECLARE_TYPEINFO(DataDescriptor, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(EndOfDirectory, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(GeneralPurposeFlag, Q_PRIMITIVE_TYPE)
static ushort readUShort(const uchar *data)
uchar uncompressed_size[4]
uchar num_dir_entries_this_disk[2]
uchar start_of_directory_disk[2]
uchar dir_start_offset[4]