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().
1.6.1