Library: Zip
Package: Zip
Header: Poco/Zip/ZipLocalFileHeader.h
Description
Stores a Zip local file header
Member Summary
Member Functions: createHeader, getCRC, getCompressedSize, getCompressionLevel, getCompressionMethod, getDataEndPos, getDataStartPos, getEndPos, getExtraField, getFileName, getHeaderSize, getHostSystem, getMajorVersionNumber, getMinorVersionNumber, getRequiredVersion, getStartPos, getUncompressedSize, hasData, hasExtraField, isDirectory, isEncrypted, isFile, lastModifiedAt, searchCRCAndSizesAfterData, setCRC, setCompressedSize, setFileName, setSearchCRCAndSizesAfterData, setStartPos, setUncompressedSize
Constructors
ZipLocalFileHeader
ZipLocalFileHeader(
std::istream & inp,
bool assumeHeaderRead,
ParseCallback & callback
);
Creates the ZipLocalFileHeader by parsing the input stream. If assumeHeaderRead is true we assume that the first 4 bytes were already read outside. If skipOverDataBlock is true we position the stream after the data block (either at the next FileHeader or the Directory Entry)
ZipLocalFileHeader
ZipLocalFileHeader(
const Poco::Path & fileName,
const Poco::DateTime & lastModifiedAt,
ZipCommon::CompressionMethod cm,
ZipCommon::CompressionLevel cl
);
Creates a zip file header from an absoluteFile. fileName is the name of the file in the zip, outputIsSeekable determines if we write CRC and file sizes to the LocalFileHeader or after data compression into a ZipDataInfo
Destructor
~ZipLocalFileHeader
virtual ~ZipLocalFileHeader();
Destroys the ZipLocalFileHeader.
Member Functions
createHeader
std::string createHeader() const;
Creates a header
getCRC
Poco::UInt32 getCRC() const;
getCompressedSize
Poco::UInt32 getCompressedSize() const;
getCompressionLevel
ZipCommon::CompressionLevel getCompressionLevel() const;
Returns the compression level used. Only valid when the compression method is CM_DEFLATE
getCompressionMethod
ZipCommon::CompressionMethod getCompressionMethod() const;
getDataEndPos
std::streamoff getDataEndPos() const;
getDataStartPos
std::streamoff getDataStartPos() const;
Returns the streamoffset for the very first byte of data. Will be equal to DataEndPos if no data present
getEndPos
std::streamoff getEndPos() const;
Points past the last byte of the file entry (ie. either the first byte of the next header, or the directory)
getExtraField
const std::string & getExtraField() const;
getFileName
const std::string & getFileName() const;
getHeaderSize
Poco::UInt32 getHeaderSize() const;
Returns the total size of the header including filename + extra field size
getHostSystem
ZipCommon::HostSystem getHostSystem() const;
getMajorVersionNumber
int getMajorVersionNumber() const;
getMinorVersionNumber
int getMinorVersionNumber() const;
getRequiredVersion
void getRequiredVersion(
int & major,
int & minor
);
The minimum version required to extract the data
getStartPos
std::streamoff getStartPos() const;
Returns the position of the first byte of the header in the file stream
getUncompressedSize
Poco::UInt32 getUncompressedSize() const;
hasData
bool hasData() const;
hasExtraField
bool hasExtraField() const;
isDirectory
bool isDirectory() const;
isEncrypted
bool isEncrypted() const;
isFile
bool isFile() const;
lastModifiedAt
const Poco::DateTime & lastModifiedAt() const;
searchCRCAndSizesAfterData
bool searchCRCAndSizesAfterData() const;
setCRC
void setCRC(
Poco::UInt32 val
);
setCompressedSize
void setCompressedSize(
Poco::UInt32 val
);
setFileName
void setFileName(
const std::string & fileName,
bool isDirectory
);
setSearchCRCAndSizesAfterData
void setSearchCRCAndSizesAfterData(
bool val
);
setStartPos
void setStartPos(
std::streamoff start
);
Sets the start position to start and the end position to start+compressedSize
setUncompressedSize
void setUncompressedSize(
Poco::UInt32 val
);
Variables
HEADER
static const char HEADER[ZipCommon::HEADER_SIZE];