ZipWriter.h header

#include <ew/app/ZipWriter.h>

Namespace ew::app

ZipEntry struct

struct ew::app::ZipEntry

One file to place in a ZIP archive: its archive path (forward-slash separated, e.g. "word/document.xml") and its raw bytes.

Members

QString ew::app::ZipEntry::path

The entry's archive path, forward-slash separated (e.g. "word/document.xml").

QByteArray ew::app::ZipEntry::content

The entry's raw bytes.

Functions

QByteArray ew::app::makeZip(const std::vector< ZipEntry > &entries)

Builds a complete ZIP archive containing entries, stored uncompressed (method 0). This is dependency-free (no vendored zip library, no Qt private API) and sufficient for the Office Open XML (DOCX) and EPUB3 containers, whose readers accept stored entries; entry order is preserved, so a caller can place a required first entry (e.g. EPUB's uncompressed "mimetype"). Uses a fixed timestamp so the same input yields byte-identical output.

quint32 ew::app::zipCrc32(const QByteArray &data)

Computes the standard (ISO-HDLC / zlib) CRC-32 of data – the checksum ZIP archives store per entry. Exposed so callers (and tests) can verify entry integrity; makeZip uses it internally.