zipios::ZipLocalEntry Class Reference

A concrete implementation of the abstract FileEntry base class for ZipFile entries, specifically for representing the information present in the local headers of file entries in a zip file. More...

`#include <ziphead.h>`

Inheritance diagram for zipios::ZipLocalEntry:
[legend]

## Public Member Functions

| ZipLocalEntry (const string &_filename="", const vector< unsigned char > &_extra_field=vector< unsigned char >())
void | setDefaultExtract ()
ZipLocalEntry & | operator= (const class ZipLocalEntry &src)
virtual string | getComment () const
| Returns the comment of the entry, if it has one.
virtual uint32 | getCompressedSize () const
| Returns the compressed size of the entry.
virtual uint32 | getCrc () const
| Returns the Crc for the entry, if it has one.
virtual vector< unsigned char > | getExtra () const
| Returns a vector of bytes of extra data that may be stored with the entry.
virtual StorageMethod | getMethod () const
| Returns the method used to store the entry in the FileCollection.
virtual string | getName () const
| Returns the full filename of the entry, including a path if the entry is stored in a subfolder.
virtual string | getFileName () const
| Returns the filename of the entry.
virtual uint32 | getSize () const
| Returns the (uncompressed) size of the entry data.
virtual int | getTime () const
| Returns the date and time of FIXME: what?
virtual bool | isValid () const
| Any method or operator that initializes a FileEntry may set a flag, that specifies whether the read entry is valid or not.
virtual bool | isDirectory () const
| Returns true if the entry is a directory.
virtual void | setComment (const string &comment)
| Sets the comment field for the FileEntry.
virtual void | setCompressedSize (uint32 size)
| Set the compressed size field of the entry.
virtual void | setCrc (uint32 crc)
| Sets the crc field.
virtual void | setExtra (const vector< unsigned char > &extra)
| Sets the extra field.
virtual void | setMethod (StorageMethod method)
| Sets the storage method field for the entry.
virtual void | setName (const string &name)
| Sets the name field for the entry.
virtual void | setSize (uint32 size)
| Sets the size field for the entry.
virtual void | setTime (int time)
| Sets the time field for the entry.
virtual string | toString () const
| Returns a human-readable string representation of the entry.
int | getLocalHeaderSize () const
bool | trailingDataDescriptor () const
virtual FileEntry * | clone () const
| Create a heap allocated clone of the object this method is called for.
Public Member Functions inherited from zipios::FileEntry
virtual | ~FileEntry ()
| FileEntry destructor.

## Protected Attributes

uint16 | extract_version
uint16 | gp_bitfield
uint16 | compress_method
uint16 | last_mod_ftime
uint16 | last_mod_fdate
uint32 | crc_32
uint32 | compress_size
uint32 | uncompress_size
uint16 | filename_len
uint16 | extra_field_len
string | filename
vector< unsigned char > | extra_field
bool | _valid
Protected Attributes inherited from zipios::FileEntry
ReferenceCount< FileEntry > | _refcount

## Static Protected Attributes

static const uint32 | signature = 0x04034b50

## Friends

istream & | operator>> (istream &is, ZipLocalEntry &zcdh)
ostream & | operator<< (ostream &os, const ZipLocalEntry &zlh)
bool | operator== (const ZipLocalEntry &zlh, const ZipCDirEntry &ze)

## Additional Inherited Members

Protected Member Functions inherited from zipios::FileEntry
void | ref () const
unsigned int | unref () const

## Detailed Description

A concrete implementation of the abstract FileEntry base class for ZipFile entries, specifically for representing the information present in the local headers of file entries in a zip file.

Definition at line 22 of file ziphead.h.

## Constructor & Destructor Documentation

## ZipLocalEntry()

zipios::ZipLocalEntry::ZipLocalEntry | ( | const string & | _filename = "",
|  | const vector< unsigned char > & | _extra_field = vector< unsigned char >() )

inline

Definition at line 27 of file ziphead.h.

## ~ZipLocalEntry()

virtual zipios::ZipLocalEntry::~ZipLocalEntry | ( |  | ) |

inline virtual

Definition at line 69 of file ziphead.h.

## Member Function Documentation

## clone()

FileEntry * zipios::ZipLocalEntry::clone | ( |  | ) | const

virtual

Create a heap allocated clone of the object this method is called for.

The caller is responsible for deallocating the clone when he is done with it.

Returns
  A heap allocated copy of the object this method is called for.

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 178 of file ziphead.cpp.

## getComment()

string zipios::ZipLocalEntry::getComment | ( |  | ) | const

virtual

Returns the comment of the entry, if it has one.

Otherwise it returns an empty string.

Returns
  the comment associated with the entry, if there is one.

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 62 of file ziphead.cpp.

## getCompressedSize()

uint32 zipios::ZipLocalEntry::getCompressedSize | ( |  | ) | const

virtual

Returns the compressed size of the entry.

If the entry is not stored in a compressed format, the uncompressed size is returned.

Returns
  the compressed size of the entry. If the entry is stored without compression the uncompressed size is returned.

Implements zipios::FileEntry.

Definition at line 66 of file ziphead.cpp.

## getCrc()

uint32 zipios::ZipLocalEntry::getCrc | ( |  | ) | const

virtual

Returns the Crc for the entry, if it has one.

FIXME: what is returned if it doesn't have one?

Returns
  the Crc for the entry, if it has one.

Implements zipios::FileEntry.

Definition at line 70 of file ziphead.cpp.

## getExtra()

vector< unsigned char > zipios::ZipLocalEntry::getExtra | ( |  | ) | const

virtual

Returns a vector of bytes of extra data that may be stored with the entry.

Returns
  A vector< unsigned char > of extra bytes that may potentially be associated with an entry.

Implements zipios::FileEntry.

Definition at line 74 of file ziphead.cpp.

## getFileName()

string zipios::ZipLocalEntry::getFileName | ( |  | ) | const

virtual

Returns the filename of the entry.

Returns
  Returns the filename of the entry.

Implements zipios::FileEntry.

Definition at line 86 of file ziphead.cpp.

## getLocalHeaderSize()

int zipios::ZipLocalEntry::getLocalHeaderSize | ( |  | ) | const

Definition at line 164 of file ziphead.cpp.

## getMethod()

StorageMethod zipios::ZipLocalEntry::getMethod | ( |  | ) | const

virtual

Returns the method used to store the entry in the FileCollection.

Returns
  the storage method used to store the entry in the collection.

See also
  StorageMethod.

Implements zipios::FileEntry.

Definition at line 78 of file ziphead.cpp.

## getName()

string zipios::ZipLocalEntry::getName | ( |  | ) | const

virtual

Returns the full filename of the entry, including a path if the entry is stored in a subfolder.

Returns
  the filename of the entry, including path if the entry is stored in a sub-folder.

Implements zipios::FileEntry.

Definition at line 82 of file ziphead.cpp.

## getSize()

uint32 zipios::ZipLocalEntry::getSize | ( |  | ) | const

virtual

Returns the (uncompressed) size of the entry data.

Returns
  Returns the (uncompressed) size of the entry.

Implements zipios::FileEntry.

Definition at line 99 of file ziphead.cpp.

## getTime()

int zipios::ZipLocalEntry::getTime | ( |  | ) | const

virtual

Returns the date and time of FIXME: what?

Returns
  the date and time of the entry.

Implements zipios::FileEntry.

Definition at line 103 of file ziphead.cpp.

## isDirectory()

bool zipios::ZipLocalEntry::isDirectory | ( |  | ) | const

virtual

Returns true if the entry is a directory.

A directory entry is an entry which name ends with a separator ('/' for Unix systems, '\' for Windows and DOS systems.

Returns
  true if the entry is a directory.

Implements zipios::FileEntry.

Definition at line 112 of file ziphead.cpp.

## isValid()

bool zipios::ZipLocalEntry::isValid | ( |  | ) | const

virtual

Any method or operator that initializes a FileEntry may set a flag, that specifies whether the read entry is valid or not.

If it isn't this method returns false.

Returns
  true if the FileEntry has been parsed succesfully.

Implements zipios::FileEntry.

Definition at line 108 of file ziphead.cpp.

## setComment()

void zipios::ZipLocalEntry::setComment | ( | const string & | comment | ) |

virtual

Sets the comment field for the FileEntry.

Parameters

  comment | string with the new comment.

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 118 of file ziphead.cpp.

## setCompressedSize()

void zipios::ZipLocalEntry::setCompressedSize | ( | uint32 | size | ) |

virtual

Set the compressed size field of the entry.

Parameters

  size | value to set the compressed size field of the entry to.

Implements zipios::FileEntry.

Definition at line 122 of file ziphead.cpp.

## setCrc()

void zipios::ZipLocalEntry::setCrc | ( | uint32 | crc | ) |

virtual

Sets the crc field.

Parameters

  crc | value to set the crc field to.

Implements zipios::FileEntry.

Definition at line 126 of file ziphead.cpp.

## setDefaultExtract()

void zipios::ZipLocalEntry::setDefaultExtract | ( |  | ) |

Definition at line 58 of file ziphead.cpp.

## setExtra()

void zipios::ZipLocalEntry::setExtra | ( | const vector< unsigned char > & | extra | ) |

virtual

Sets the extra field.

Parameters

  extra | the extra field is set to this value.

Implements zipios::FileEntry.

Definition at line 130 of file ziphead.cpp.

## setMethod()

void zipios::ZipLocalEntry::setMethod | ( | StorageMethod | method | ) |

virtual

Sets the storage method field for the entry.

Parameters

  method | the method field is set to the specified value.

Implements zipios::FileEntry.

Definition at line 135 of file ziphead.cpp.

## setName()

void zipios::ZipLocalEntry::setName | ( | const string & | name | ) |

virtual

Sets the name field for the entry.

Parameters

  name | the name field is set to the specified value.

Implements zipios::FileEntry.

Definition at line 139 of file ziphead.cpp.

## setSize()

void zipios::ZipLocalEntry::setSize | ( | uint32 | size | ) |

virtual

Sets the size field for the entry.

Parameters

  size | the size field is set to this value.

Implements zipios::FileEntry.

Definition at line 144 of file ziphead.cpp.

## setTime()

void zipios::ZipLocalEntry::setTime | ( | int | time | ) |

virtual

Sets the time field for the entry.

Parameters

  time | the time field is set to the specified value.

Implements zipios::FileEntry.

Definition at line 148 of file ziphead.cpp.

## toString()

string zipios::ZipLocalEntry::toString | ( |  | ) | const

virtual

Returns a human-readable string representation of the entry.

Returns
  a human-readable string representation of the entry.

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 157 of file ziphead.cpp.

## trailingDataDescriptor()

bool zipios::ZipLocalEntry::trailingDataDescriptor | ( |  | ) | const

Definition at line 168 of file ziphead.cpp.

## Friends And Related Symbol Documentation

## operator==

bool operator== | ( | const ZipLocalEntry & | zlh,
|  | const ZipCDirEntry & | ze )

friend

Definition at line 20 of file ziphead.cpp.

## Member Data Documentation

## _valid

bool zipios::ZipLocalEntry::_valid

protected

Definition at line 86 of file ziphead.h.

## compress_method

uint16 zipios::ZipLocalEntry::compress_method

protected

Definition at line 74 of file ziphead.h.

## compress_size

uint32 zipios::ZipLocalEntry::compress_size

protected

Definition at line 78 of file ziphead.h.

## crc_32

uint32 zipios::ZipLocalEntry::crc_32

protected

Definition at line 77 of file ziphead.h.

## extra_field

vector< unsigned char > zipios::ZipLocalEntry::extra_field

protected

Definition at line 84 of file ziphead.h.

## extra_field_len

uint16 zipios::ZipLocalEntry::extra_field_len

protected

Definition at line 81 of file ziphead.h.

## extract_version

uint16 zipios::ZipLocalEntry::extract_version

protected

Definition at line 72 of file ziphead.h.

## filename

string zipios::ZipLocalEntry::filename

protected

Definition at line 83 of file ziphead.h.

## filename_len

uint16 zipios::ZipLocalEntry::filename_len

protected

Definition at line 80 of file ziphead.h.

## gp_bitfield

uint16 zipios::ZipLocalEntry::gp_bitfield

protected

Definition at line 73 of file ziphead.h.

## last_mod_fdate

uint16 zipios::ZipLocalEntry::last_mod_fdate

protected

Definition at line 76 of file ziphead.h.

## last_mod_ftime

uint16 zipios::ZipLocalEntry::last_mod_ftime

protected

Definition at line 75 of file ziphead.h.

## signature

const uint32 zipios::ZipLocalEntry::signature = 0x04034b50

static protected

Definition at line 71 of file ziphead.h.

## uncompress_size

uint32 zipios::ZipLocalEntry::uncompress_size

protected

Definition at line 79 of file ziphead.h.

The documentation for this class was generated from the following files:

- ziphead.h
- ziphead.cpp