Main Page   Class Hierarchy   Compound List   File List   Compound Members  

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

Inheritance graph

[legend]
List of all members.

Public Methods

 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. 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 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 string getFileName () const
 Returns the filename of the entry. 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 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 bool isDirectory () const
 Returns true if the entry is a directory. 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...

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...

int getLocalHeaderSize () const
bool trailingDataDescriptor () const
virtual FileEntryclone () const
 Create a heap allocated clone of the object this method is called for. More...

virtual ~ZipLocalEntry ()

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

Static Protected Attributes

const uint32 signature = 0x04034b50

Friends

class  operator>>
class  operator<<
class  operator==

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

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

Definition at line 27 of file ziphead.h.

zipios::ZipLocalEntry::~ZipLocalEntry ( ) [inline, virtual]
 

Definition at line 69 of file ziphead.h.


Member Function Documentation

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.

Reimplemented from zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 173 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 61 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.

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

Reimplemented from zipios::FileEntry.

Definition at line 65 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 69 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 73 of file ziphead.cpp.

string zipios::ZipLocalEntry::getFileName ( ) const [virtual]
 

Returns the filename of the entry.

Returns:
Returns the filename of the entry.

Reimplemented from zipios::FileEntry.

Definition at line 85 of file ziphead.cpp.

int zipios::ZipLocalEntry::getLocalHeaderSize ( ) const
 

Definition at line 159 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 77 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 81 of file ziphead.cpp.

uint32 zipios::ZipLocalEntry::getSize ( ) const [virtual]
 

Returns the (uncompressed) size of the entry data.

Returns:
Returns the (uncompressed) size of the entry.

Reimplemented from zipios::FileEntry.

Definition at line 98 of file ziphead.cpp.

int zipios::ZipLocalEntry::getTime ( ) const [virtual]
 

Returns the date and time of FIXME: what?

Returns:
the date and time of the entry.

Reimplemented from zipios::FileEntry.

Definition at line 102 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 111 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 107 of file ziphead.cpp.

void zipios::ZipLocalEntry::setComment ( const string & comment ) [virtual]
 

Sets the comment field for the FileEntry.

Parameters:
comment   string with the new comment.

Reimplemented from zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 117 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 121 of file ziphead.cpp.

void zipios::ZipLocalEntry::setCrc ( uint32 crc ) [virtual]
 

Sets the crc field.

Parameters:
crc   value to set the crc field to.

Reimplemented from zipios::FileEntry.

Definition at line 125 of file ziphead.cpp.

void zipios::ZipLocalEntry::setDefaultExtract ( )
 

Definition at line 57 of file ziphead.cpp.

void zipios::ZipLocalEntry::setExtra ( const vector< unsigned char >& extra ) [virtual]
 

Sets the extra field.

Parameters:
extra   the extra field is set to this value.

Reimplemented from zipios::FileEntry.

Definition at line 129 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 134 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 138 of file ziphead.cpp.

void zipios::ZipLocalEntry::setSize ( uint32 size ) [virtual]
 

Sets the size field for the entry.

Parameters:
size   the size field is set to this value.

Reimplemented from zipios::FileEntry.

Definition at line 143 of file ziphead.cpp.

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.

Reimplemented from zipios::FileEntry.

Definition at line 147 of file ziphead.cpp.

string zipios::ZipLocalEntry::toString ( ) const [virtual]
 

Returns a human-readable string representation of the entry.

Returns:
a human-readable string representation of the entry.

Reimplemented from zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 152 of file ziphead.cpp.

bool zipios::ZipLocalEntry::trailingDataDescriptor ( ) const
 

Definition at line 163 of file ziphead.cpp.


Friends And Related Function Documentation

ostream& operator<< ( ostream & os,
const ZipLocalEntry & zlh ) [friend]
 

Definition at line 95 of file zipheadio.cpp.

bool operator== ( const ZipLocalEntry & zlh,
const ZipCDirEntry & ze ) [friend]
 

Definition at line 19 of file ziphead.cpp.

istream& operator>> ( istream & is,
ZipLocalEntry & zlh ) [friend]
 

Definition at line 15 of file zipheadio.cpp.


Member Data Documentation

bool zipios::ZipLocalEntry::_valid [protected]
 

Definition at line 86 of file ziphead.h.

uint16 zipios::ZipLocalEntry::compress_method [protected]
 

Definition at line 74 of file ziphead.h.

uint32 zipios::ZipLocalEntry::compress_size [protected]
 

Definition at line 78 of file ziphead.h.

uint32 zipios::ZipLocalEntry::crc_32 [protected]
 

Definition at line 77 of file ziphead.h.

vector< unsigned char > zipios::ZipLocalEntry::extra_field [protected]
 

Definition at line 84 of file ziphead.h.

uint16 zipios::ZipLocalEntry::extra_field_len [protected]
 

Definition at line 81 of file ziphead.h.

uint16 zipios::ZipLocalEntry::extract_version [protected]
 

Definition at line 72 of file ziphead.h.

string zipios::ZipLocalEntry::filename [protected]
 

Definition at line 83 of file ziphead.h.

uint16 zipios::ZipLocalEntry::filename_len [protected]
 

Definition at line 80 of file ziphead.h.

uint16 zipios::ZipLocalEntry::gp_bitfield [protected]
 

Definition at line 73 of file ziphead.h.

uint16 zipios::ZipLocalEntry::last_mod_fdate [protected]
 

Definition at line 76 of file ziphead.h.

uint16 zipios::ZipLocalEntry::last_mod_ftime [protected]
 

Definition at line 75 of file ziphead.h.

const uint32 zipios::ZipLocalEntry::signature = 0x04034b50 [static, protected]
 

Definition at line 53 of file ziphead.cpp.

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:
Generated at Tue Aug 14 20:39:59 2001 for Zipios++ by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000