Skip Navigation Links
Skip Navigation LinksHome > ZipArchive > How to Use > API Documentation
The ZipArchive Library

#include <ZipExtraField.h>

Public Member Functions

int Add (CZipExtraData *pExtra)
CZipExtraDataCreateNew (WORD headerID, bool bAppend=true)
CZipExtraDataCreateNew (WORD headerID, int &idx, bool bAppend=true)
 CZipExtraField (const CZipExtraField &arr)
CZipExtraDataGetAt (int index) const
int GetCount () const
int GetTotalSize () const
bool HasHeader (WORD headerID)
CZipExtraDataLookup (WORD headerID) const
CZipExtraDataLookup (WORD headerID, int &index) const
CZipExtraFieldoperator= (const CZipExtraField &field)
void Remove (WORD headerID)
void RemoveAt (int index)
void RemoveInternalHeaders ()
void RemoveInternalLocalHeaders ()
bool Validate () const

Static Public Member Functions

static bool HasSize (WORD headerID)

Static Public Attributes

static CZipArray< WORD > m_aNoSizeExtraHeadersID

Protected Member Functions

void Clear ()
bool Read (CZipStorage *pStorage, WORD uSize)
void Write (char *buffer) const

Friends

class CZipFileHeader

Detailed Description

Represents a local or central extra field in a zip archive. This is a collection of extra data records (CZipExtraData).

See also
Providing Custom Data: Extra Fields
CZipExtraData

Constructor & Destructor Documentation

◆ CZipExtraField()

CZipExtraField::CZipExtraField ( const CZipExtraField & arr)
inline

Copy constructor.

Parameters
arrThe extra field to copy from.

Member Function Documentation

◆ Add()

int CZipExtraField::Add ( CZipExtraData * pExtra)
inline

Adds a new extra data record to the extra field.

Parameters
pExtraThe extra data record to add.
Returns
The index of pExtra in the internal collection.

◆ Clear()

void CZipExtraField::Clear ( )
inlineprotected

Removes all extra data records from the extra field.

◆ CreateNew() [1/2]

CZipExtraData * CZipExtraField::CreateNew ( WORD headerID,
bool bAppend = true )
inline

Creates a new extra data record with the given ID and adds it to the extra field.

Parameters
headerIDThe extra data ID.
bAppendIf true, add the header at the end of the collection; otherwise add the header at the beginning of the collection
Returns
The created extra data record.
See also
CZipExtraData::GetHeaderID

◆ CreateNew() [2/2]

CZipExtraData * CZipExtraField::CreateNew ( WORD headerID,
int & idx,
bool bAppend = true )
inline

Creates a new extra data record with the given ID and adds it to the extra field.

Parameters
headerIDThe extra data ID.
idxReceives the value of the index of the new extra data in the internal collection.
bAppendIf true, add the header at the end of the collection; otherwise add the header at the beginning of the collection
Returns
The created extra data record.
See also
CZipExtraData::GetHeaderID

◆ GetAt()

CZipExtraData * CZipExtraField::GetAt ( int index) const
inline

Returns the extra data record at the given index.

Parameters
indexThe index of extra data record to retrieve.
Returns
The extra data record.

◆ GetCount()

int CZipExtraField::GetCount ( ) const
inline

Returns the number of extra data records included in the extra field.

Returns
The number of extra fields included.

◆ GetTotalSize()

int CZipExtraField::GetTotalSize ( ) const

Returns the total size the extra data will occupy in the archive.

Returns
The size in bytes.

◆ HasHeader()

bool CZipExtraField::HasHeader ( WORD headerID)
inline

Returns the value indicating whether the extra data record with the given ID is present in the extra field.

Parameters
headerIDThe ID of the extra data to check.
Returns
true, if the extra data record with the given ID is present in the extra field; false otherwise.

◆ HasSize()

bool CZipExtraField::HasSize ( WORD headerID)
inlinestatic

Returns the value indicating whether the extra data record with the given ID writes its size.

Parameters
headerIDThe ID of extra data to examine.
Returns
true, if the extra data record writes its size; false otherwise.
See also
m_aNoSizeExtraHeadersID

◆ Lookup() [1/2]

CZipExtraData * CZipExtraField::Lookup ( WORD headerID) const
inline

Searches the extra field for the extra data record with the given ID.

Parameters
headerIDThe ID of the extra data to search.
Returns
The found extra data record or NULL, if the extra data could not be found.

◆ Lookup() [2/2]

CZipExtraData * CZipExtraField::Lookup ( WORD headerID,
int & index ) const

Searches the extra field for the extra data record with the given ID.

Parameters
headerIDThe ID of the extra data to search.
indexReceives the value of the index of the found extra data in the internal collection.
Returns
The found extra data record or NULL, if the extra data could not be found.

◆ operator=()

CZipExtraField & CZipExtraField::operator= ( const CZipExtraField & field)
inline

Assignment operator.

Parameters
fieldThe extra field to copy from.
Returns
Reference to this object.

◆ Read()

bool CZipExtraField::Read ( CZipStorage * pStorage,
WORD uSize )
protected

Reads the extra field from buffer.

Parameters
pStorageThe storage to read the data from.
uSizeThe size of the data to read.
Returns
false, if uSize was smaller than the declared extra field size; true otherwise.

◆ Remove()

void CZipExtraField::Remove ( WORD headerID)

Removes the extra data with the given ID.

Parameters
headerIDThe ID of the extra data to remove.

◆ RemoveAt()

void CZipExtraField::RemoveAt ( int index)
inline

Removes the extra data record at the given index.

Parameters
indexThe index of the extra data record to remove.

◆ RemoveInternalHeaders()

void CZipExtraField::RemoveInternalHeaders ( )

Removes all extra data records from the central extra field that are internally used by the ZipArchive Library.

◆ RemoveInternalLocalHeaders()

void CZipExtraField::RemoveInternalLocalHeaders ( )

Removes all extra data records from the local extra field that are internally used by the ZipArchive Library.

◆ Validate()

bool CZipExtraField::Validate ( ) const
inline

Validates the current size of the extra field.

Returns
false, if the size is larger than allowed; false otherwise.

◆ Write()

void CZipExtraField::Write ( char * buffer) const
protected

Writes the extra field to buffer.

Parameters
bufferThe buffer to write to.

Member Data Documentation

◆ m_aNoSizeExtraHeadersID

CZipArray<WORD> CZipExtraField::m_aNoSizeExtraHeadersID
static

An array of headers that do not write extra data size.

See also
Providing Custom Data: Extra Fields

The documentation for this class was generated from the following file:
Back To Top Up