#pragma once #include #include "StringBase.h" namespace Compression { // Compression method enumeration enum class ZipCompressionMethod : uint16_t { // Uncompressed storage Store = 0, // Deflate compression method Deflate = 8 }; // Represents an entry in the ZipArchive struct ZipEntry { // Compression method ZipCompressionMethod Method; // Full path and filename as stored in ZipArchive String FileNameInZip; // Original file size uint64_t FileSize; // Compressed file size uint64_t CompressedSize; // Offset of header information in the ZipArchive uint64_t HeaderOffset; // Offset of file inside the ZipArchive uint64_t FileOffset; // Size of the header information uint32_t HeaderSize; // The CRC32 checksum of the entire file uint32_t Crc32; // User comment for the file String Comment; // True if UTF8 encoding for filename and comments bool EncodeUTF8; }; }