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. More... | |
virtual string | getComment () const |
Returns the comment of the entry, if it has one. More... | |
virtual uint32 | getCompressedSize () const |
Returns the compressed size of the entry. More... | |
virtual uint32 | getCrc () const |
Returns the Crc for the entry, if it has one. More... | |
virtual vector< unsigned char > | getExtra () const |
Returns a vector of bytes of extra data that may be stored with the entry. More... | |
virtual string | getFileName () const |
Returns the filename of the entry. More... | |
int | getLocalHeaderSize () const |
virtual StorageMethod | getMethod () const |
Returns the method used to store the entry in the FileCollection. More... | |
virtual string | getName () const |
Returns the full filename of the entry, including a path if the entry is stored in a subfolder. More... | |
virtual uint32 | getSize () const |
Returns the (uncompressed) size of the entry data. More... | |
virtual int | getTime () const |
Returns the date and time of FIXME: what? More... | |
virtual bool | isDirectory () const |
Returns true if the entry is a directory. More... | |
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. More... | |
virtual void | setComment (const string &comment) |
Sets the comment field for the FileEntry. More... | |
virtual void | setCompressedSize (uint32 size) |
Set the compressed size field of the entry. More... | |
virtual void | setCrc (uint32 crc) |
Sets the crc field. More... | |
void | setDefaultExtract () |
virtual void | setExtra (const vector< unsigned char > &extra) |
Sets the extra field. More... | |
virtual void | setMethod (StorageMethod method) |
Sets the storage method field for the entry. More... | |
virtual void | setName (const string &name) |
Sets the name field for the entry. More... | |
virtual void | setSize (uint32 size) |
Sets the size field for the entry. More... | |
virtual void | setTime (int time) |
Sets the time field for the entry. More... | |
virtual string | toString () const |
Returns a human-readable string representation of the entry. More... | |
bool | trailingDataDescriptor () const |
ZipLocalEntry (const string &_filename="", const vector< unsigned char > &_extra_field=vector< unsigned char >()) | |
virtual | ~ZipLocalEntry () |
Public Member Functions inherited from zipios::FileEntry | |
virtual FileEntry * | clone () const =0 |
Create a heap allocated clone of the object this method is called for. More... | |
virtual string | getComment () const =0 |
Returns the comment of the entry, if it has one. More... | |
virtual uint32 | getCompressedSize () const =0 |
Returns the compressed size of the entry. More... | |
virtual uint32 | getCrc () const =0 |
Returns the Crc for the entry, if it has one. More... | |
virtual vector< unsigned char > | getExtra () const =0 |
Returns a vector of bytes of extra data that may be stored with the entry. More... | |
virtual string | getFileName () const =0 |
Returns the filename of the entry. More... | |
virtual StorageMethod | getMethod () const =0 |
Returns the method used to store the entry in the FileCollection. More... | |
virtual string | getName () const =0 |
Returns the full filename of the entry, including a path if the entry is stored in a subfolder. More... | |
virtual uint32 | getSize () const =0 |
Returns the (uncompressed) size of the entry data. More... | |
virtual int | getTime () const =0 |
Returns the date and time of FIXME: what? More... | |
virtual bool | isDirectory () const =0 |
Returns true if the entry is a directory. More... | |
virtual bool | isValid () const =0 |
Any method or operator that initializes a FileEntry may set a flag, that specifies whether the read entry is valid or not. More... | |
virtual void | setComment (const string &comment)=0 |
Sets the comment field for the FileEntry. More... | |
virtual void | setCompressedSize (uint32 size)=0 |
Set the compressed size field of the entry. More... | |
virtual void | setCrc (uint32 crc)=0 |
Sets the crc field. More... | |
virtual void | setExtra (const vector< unsigned char > &extra)=0 |
Sets the extra field. More... | |
virtual void | setMethod (StorageMethod method)=0 |
Sets the storage method field for the entry. More... | |
virtual void | setName (const string &name)=0 |
Sets the name field for the entry. More... | |
virtual void | setSize (uint32 size)=0 |
Sets the size field for the entry. More... | |
virtual void | setTime (int time)=0 |
Sets the time field for the entry. More... | |
virtual string | toString () const =0 |
Returns a human-readable string representation of the entry. More... | |
virtual | ~FileEntry () |
FileEntry destructor. More... | |
Protected Attributes | |
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) |
Additional Inherited Members | |
Protected Member Functions inherited from zipios::FileEntry | |
void | ref () const |
unsigned int | unref () const |
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.
zipios::ZipLocalEntry::ZipLocalEntry | ( | const string & | _filename = "" , |
const vector< unsigned char > & | _extra_field = vector< unsigned char >() |
||
) |
Referenced by clone().
|
virtual |
|
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.
References ZipLocalEntry().
Referenced by ArchPanel.CommandPanelSheet::Activated(), ArchStructure.CommandStructuralSystem::Activated(), ArchComponent.Component::execute(), ArchCurtainWall.CurtainWall::execute(), ArchTruss.Truss::execute(), Mod.PartDesign.WizardShaft.SegmentFunction.SegmentFunction::integrated(), and PathTests.TestPathHelix.TestPathHelix::test04().
|
virtual |
Returns the comment of the entry, if it has one.
Otherwise it returns an empty string.
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
|
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.
References compress_size.
|
virtual |
Returns the Crc for the entry, if it has one.
FIXME: what is returned if it doesn't have one?
Implements zipios::FileEntry.
References crc_32.
|
virtual |
Returns a vector of bytes of extra data that may be stored with the entry.
Implements zipios::FileEntry.
References extra_field.
|
virtual |
Returns the filename of the entry.
Implements zipios::FileEntry.
References filename, isDirectory(), and zipios::separator.
int zipios::ZipLocalEntry::getLocalHeaderSize | ( | ) | const |
References extra_field, and filename.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
|
virtual |
Returns the method used to store the entry in the FileCollection.
Implements zipios::FileEntry.
References compress_method.
|
virtual |
Returns the full filename of the entry, including a path if the entry is stored in a subfolder.
Implements zipios::FileEntry.
References filename.
|
virtual |
Returns the (uncompressed) size of the entry data.
Implements zipios::FileEntry.
References uncompress_size.
|
virtual |
Returns the date and time of FIXME: what?
Implements zipios::FileEntry.
References last_mod_fdate, and last_mod_ftime.
|
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.
References filename, and zipios::separator.
Referenced by getFileName().
|
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.
|
virtual |
Sets the comment field for the FileEntry.
comment | string with the new comment. |
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
|
virtual |
Set the compressed size field of the entry.
size | value to set the compressed size field of the entry to. |
Implements zipios::FileEntry.
References compress_size.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
|
virtual |
Sets the crc field.
crc | value to set the crc field to. |
Implements zipios::FileEntry.
References crc_32.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
void zipios::ZipLocalEntry::setDefaultExtract | ( | ) |
References extract_version.
|
virtual |
Sets the extra field.
extra | the extra field is set to this value. |
Implements zipios::FileEntry.
References extra_field, and extra_field_len.
|
virtual |
Sets the storage method field for the entry.
method | the method field is set to the specified value. |
Implements zipios::FileEntry.
References compress_method.
Referenced by zipios::ZipOutputStreambuf::putNextEntry().
|
virtual |
Sets the name field for the entry.
name | the name field is set to the specified value. |
Implements zipios::FileEntry.
References filename, and filename_len.
|
virtual |
Sets the size field for the entry.
size | the size field is set to this value. |
Implements zipios::FileEntry.
References uncompress_size.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
|
virtual |
Sets the time field for the entry.
time | the time field is set to the specified value. |
Implements zipios::FileEntry.
References last_mod_fdate, and last_mod_ftime.
Referenced by zipios::ZipOutputStreambuf::updateEntryHeaderInfo().
|
virtual |
Returns a human-readable string representation of the entry.
Implements zipios::FileEntry.
Reimplemented in zipios::ZipCDirEntry.
References compress_size, filename, zipios::OutputStringStream::str(), and uncompress_size.
bool zipios::ZipLocalEntry::trailingDataDescriptor | ( | ) | const |
References gp_bitfield.
|
friend |
|
friend |
|
friend |
|
protected |
Referenced by getMethod(), and setMethod().
|
protected |
Referenced by getCompressedSize(), setCompressedSize(), toString(), and zipios::ZipCDirEntry::toString().
|
protected |
Referenced by zipios::ZipCDirEntry::getCDirHeaderSize(), getExtra(), getLocalHeaderSize(), and setExtra().
|
protected |
Referenced by setExtra().
|
protected |
Referenced by setDefaultExtract().
|
protected |
Referenced by ArchReference.ArchReferenceTaskPanel::accept(), ArchReference.ArchReferenceTaskPanel::chooseFile(), zipios::ZipCDirEntry::getCDirHeaderSize(), getFileName(), getLocalHeaderSize(), getName(), addonmanager_macro.Macro::install(), addonmanager_macro.Macro::is_installed(), isDirectory(), exportDRAWEXE.Drawexporter::process_object(), addonmanager_macro.Macro::remove(), exportDRAWEXE.Drawexporter::saveSweep(), setName(), toString(), and zipios::ZipCDirEntry::toString().
|
protected |
Referenced by trailingDataDescriptor().
|
staticprotected |
|
protected |
Referenced by getSize(), setSize(), toString(), and zipios::ZipCDirEntry::toString().