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>
Public Member Functions | |
virtual FileEntry * | clone () const |
Create a heap allocated clone of the object this method is called for. | |
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 string | getFileName () const |
Returns the filename of the entry. | |
int | getLocalHeaderSize () const |
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 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 | isDirectory () const |
Returns true if the entry is a directory. | |
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. | |
ZipLocalEntry & | operator= (const class ZipLocalEntry &src) |
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. | |
void | setDefaultExtract () |
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. | |
bool | trailingDataDescriptor () const |
ZipLocalEntry (const string &_filename="", const vector< unsigned char > &_extra_field=vector< unsigned char >()) | |
virtual | ~ZipLocalEntry () |
Protected Attributes | |
bool | _valid |
uint16 | compress_method |
uint32 | compress_size |
uint32 | crc_32 |
vector< unsigned char > | extra_field |
uint16 | extra_field_len |
uint16 | extract_version |
string | filename |
uint16 | filename_len |
uint16 | gp_bitfield |
uint16 | last_mod_fdate |
uint16 | last_mod_ftime |
uint32 | uncompress_size |
Static Protected Attributes | |
static const uint32 | signature = 0x04034b50 |
Friends | |
ostream & | operator<< (ostream &os, const ZipLocalEntry &zlh) |
bool | operator== (const ZipLocalEntry &zlh, const ZipCDirEntry &ze) |
istream & | operator>> (istream &is, ZipLocalEntry &zcdh) |
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.
zipios::ZipLocalEntry::ZipLocalEntry | ( | const string & | _filename = "" , |
|
const vector< unsigned char > & | _extra_field = vector< unsigned char >() | |||
) | [inline] |
virtual zipios::ZipLocalEntry::~ZipLocalEntry | ( | ) | [inline, virtual] |
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.
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
Definition at line 207 of file ziphead.cpp.
References ZipLocalEntry().
string zipios::ZipLocalEntry::getComment | ( | ) | const [virtual] |
Returns the comment of the entry, if it has one.
Otherwise it returns an empty string.
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
Definition at line 91 of file ziphead.cpp.
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.
Implements zipios::FileEntry.
Definition at line 95 of file ziphead.cpp.
References compress_size.
Referenced by zipios::ZipInputStreambuf::closeEntry().
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?
Implements zipios::FileEntry.
Definition at line 99 of file ziphead.cpp.
References crc_32.
vector< unsigned char > zipios::ZipLocalEntry::getExtra | ( | ) | const [virtual] |
Returns a vector of bytes of extra data that may be stored with the entry.
Implements zipios::FileEntry.
Definition at line 103 of file ziphead.cpp.
References extra_field.
string zipios::ZipLocalEntry::getFileName | ( | ) | const [virtual] |
Returns the filename of the entry.
Implements zipios::FileEntry.
Definition at line 115 of file ziphead.cpp.
References filename, isDirectory(), RobotExample::pos, and zipios::separator.
int zipios::ZipLocalEntry::getLocalHeaderSize | ( | ) | const |
Definition at line 193 of file ziphead.cpp.
References extra_field, and filename.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
StorageMethod zipios::ZipLocalEntry::getMethod | ( | ) | const [virtual] |
Returns the method used to store the entry in the FileCollection.
Implements zipios::FileEntry.
Definition at line 107 of file ziphead.cpp.
References compress_method.
Referenced by zipios::ZipInputStreambuf::underflow().
string zipios::ZipLocalEntry::getName | ( | ) | const [virtual] |
Returns the full filename of the entry, including a path if the entry is stored in a subfolder.
Implements zipios::FileEntry.
Definition at line 111 of file ziphead.cpp.
References filename.
uint32 zipios::ZipLocalEntry::getSize | ( | ) | const [virtual] |
Returns the (uncompressed) size of the entry data.
Implements zipios::FileEntry.
Definition at line 128 of file ziphead.cpp.
References uncompress_size.
int zipios::ZipLocalEntry::getTime | ( | ) | const [virtual] |
Returns the date and time of FIXME: what?
Implements zipios::FileEntry.
Definition at line 132 of file ziphead.cpp.
References last_mod_fdate, and last_mod_ftime.
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.
Implements zipios::FileEntry.
Definition at line 141 of file ziphead.cpp.
References filename, and zipios::separator.
Referenced by getFileName().
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.
Implements zipios::FileEntry.
Definition at line 137 of file ziphead.cpp.
References _valid.
ZipLocalEntry& zipios::ZipLocalEntry::operator= | ( | const class ZipLocalEntry & | src | ) | [inline] |
Reimplemented in zipios::ZipCDirEntry.
void zipios::ZipLocalEntry::setComment | ( | const string & | comment | ) | [virtual] |
Sets the comment field for the FileEntry.
comment | string with the new comment. |
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
Definition at line 147 of file ziphead.cpp.
void zipios::ZipLocalEntry::setCompressedSize | ( | uint32 | size | ) | [virtual] |
Set the compressed size field of the entry.
size | value to set the compressed size field of the entry to. |
Implements zipios::FileEntry.
Definition at line 151 of file ziphead.cpp.
References compress_size.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
void zipios::ZipLocalEntry::setCrc | ( | uint32 | crc | ) | [virtual] |
Sets the crc field.
crc | value to set the crc field to. |
Implements zipios::FileEntry.
Definition at line 155 of file ziphead.cpp.
References crc_32.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
void zipios::ZipLocalEntry::setDefaultExtract | ( | ) |
Definition at line 87 of file ziphead.cpp.
References extract_version.
void zipios::ZipLocalEntry::setExtra | ( | const vector< unsigned char > & | extra | ) | [virtual] |
Sets the extra field.
extra | the extra field is set to this value. |
Implements zipios::FileEntry.
Definition at line 159 of file ziphead.cpp.
References extra_field, and extra_field_len.
void zipios::ZipLocalEntry::setMethod | ( | StorageMethod | method | ) | [virtual] |
Sets the storage method field for the entry.
method | the method field is set to the specified value. |
Implements zipios::FileEntry.
Definition at line 164 of file ziphead.cpp.
References compress_method.
Referenced by zipios::ZipOutputStreambuf::putNextEntry().
void zipios::ZipLocalEntry::setName | ( | const string & | name | ) | [virtual] |
Sets the name field for the entry.
name | the name field is set to the specified value. |
Implements zipios::FileEntry.
Definition at line 168 of file ziphead.cpp.
References filename, and filename_len.
void zipios::ZipLocalEntry::setSize | ( | uint32 | size | ) | [virtual] |
Sets the size field for the entry.
size | the size field is set to this value. |
Implements zipios::FileEntry.
Definition at line 173 of file ziphead.cpp.
References uncompress_size.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
void zipios::ZipLocalEntry::setTime | ( | int | time | ) | [virtual] |
Sets the time field for the entry.
time | the time field is set to the specified value. |
Implements zipios::FileEntry.
Definition at line 177 of file ziphead.cpp.
References last_mod_fdate, and last_mod_ftime.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
string zipios::ZipLocalEntry::toString | ( | ) | const [virtual] |
Returns a human-readable string representation of the entry.
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
Definition at line 186 of file ziphead.cpp.
References compress_size, filename, zipios::OutputStringStream::str(), and uncompress_size.
bool zipios::ZipLocalEntry::trailingDataDescriptor | ( | ) | const |
Definition at line 197 of file ziphead.cpp.
References gp_bitfield.
ostream& operator<< | ( | ostream & | os, | |
const ZipLocalEntry & | zlh | |||
) | [friend] |
Reimplemented in zipios::ZipCDirEntry.
bool operator== | ( | const ZipLocalEntry & | zlh, | |
const ZipCDirEntry & | ze | |||
) | [friend] |
istream& operator>> | ( | istream & | is, | |
ZipLocalEntry & | zcdh | |||
) | [friend] |
Reimplemented in zipios::ZipCDirEntry.
bool zipios::ZipLocalEntry::_valid [protected] |
uint16 zipios::ZipLocalEntry::compress_method [protected] |
Definition at line 74 of file ziphead.h.
Referenced by getMethod(), zipios::ZipCDirEntry::operator=(), and setMethod().
uint32 zipios::ZipLocalEntry::compress_size [protected] |
Definition at line 78 of file ziphead.h.
Referenced by getCompressedSize(), zipios::ZipCDirEntry::operator=(), setCompressedSize(), zipios::ZipCDirEntry::toString(), and toString().
uint32 zipios::ZipLocalEntry::crc_32 [protected] |
Definition at line 77 of file ziphead.h.
Referenced by getCrc(), zipios::ZipCDirEntry::operator=(), and setCrc().
vector< unsigned char > zipios::ZipLocalEntry::extra_field [protected] |
Definition at line 84 of file ziphead.h.
Referenced by zipios::ZipCDirEntry::getCDirHeaderSize(), getExtra(), getLocalHeaderSize(), zipios::ZipCDirEntry::operator=(), and setExtra().
uint16 zipios::ZipLocalEntry::extra_field_len [protected] |
Definition at line 81 of file ziphead.h.
Referenced by zipios::ZipCDirEntry::operator=(), and setExtra().
uint16 zipios::ZipLocalEntry::extract_version [protected] |
Definition at line 72 of file ziphead.h.
Referenced by zipios::ZipCDirEntry::operator=(), and setDefaultExtract().
string zipios::ZipLocalEntry::filename [protected] |
Definition at line 83 of file ziphead.h.
Referenced by zipios::ZipCDirEntry::getCDirHeaderSize(), getFileName(), getLocalHeaderSize(), getName(), isDirectory(), zipios::ZipCDirEntry::operator=(), setName(), zipios::ZipCDirEntry::toString(), and toString().
uint16 zipios::ZipLocalEntry::filename_len [protected] |
Definition at line 80 of file ziphead.h.
Referenced by zipios::ZipCDirEntry::operator=(), and setName().
uint16 zipios::ZipLocalEntry::gp_bitfield [protected] |
Definition at line 73 of file ziphead.h.
Referenced by zipios::ZipCDirEntry::operator=(), and trailingDataDescriptor().
uint16 zipios::ZipLocalEntry::last_mod_fdate [protected] |
Definition at line 76 of file ziphead.h.
Referenced by getTime(), zipios::ZipCDirEntry::operator=(), and setTime().
uint16 zipios::ZipLocalEntry::last_mod_ftime [protected] |
Definition at line 75 of file ziphead.h.
Referenced by getTime(), zipios::ZipCDirEntry::operator=(), and setTime().
const uint32 zipios::ZipLocalEntry::signature = 0x04034b50 [static, protected] |
uint32 zipios::ZipLocalEntry::uncompress_size [protected] |
Definition at line 79 of file ziphead.h.
Referenced by getSize(), zipios::ZipCDirEntry::operator=(), setSize(), zipios::ZipCDirEntry::toString(), and toString().