Zipios++
Public Member Functions | Protected Attributes | Static Protected Attributes | Friends
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 Member Functions

 ZipLocalEntry (const string &_filename="", const vector< unsigned char > &_extra_field=vector< unsigned char >())
void setDefaultExtract ()
ZipLocalEntryoperator= (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 FileEntryclone () 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.


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.

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

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

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

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

Implements zipios::FileEntry.

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

Implements zipios::FileEntry.

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

Implements zipios::FileEntry.

Definition at line 74 of file ziphead.cpp.

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.

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.

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.

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.

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.

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.

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.

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

Sets the comment field for the FileEntry.

Parameters:
commentstring with the new comment.

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 118 of file ziphead.cpp.

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

Set the compressed size field of the entry.

Parameters:
sizevalue to set the compressed size field of the entry to.

Implements zipios::FileEntry.

Definition at line 122 of file ziphead.cpp.

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

Sets the crc field.

Parameters:
crcvalue to set the crc field to.

Implements zipios::FileEntry.

Definition at line 126 of file ziphead.cpp.

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

Sets the extra field.

Parameters:
extrathe extra field is set to this value.

Implements zipios::FileEntry.

Definition at line 130 of file ziphead.cpp.

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

Sets the storage method field for the entry.

Parameters:
methodthe method field is set to the specified value.

Implements zipios::FileEntry.

Definition at line 135 of file ziphead.cpp.

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

Sets the name field for the entry.

Parameters:
namethe name field is set to the specified value.

Implements zipios::FileEntry.

Definition at line 139 of file ziphead.cpp.

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

Sets the size field for the entry.

Parameters:
sizethe size field is set to this value.

Implements zipios::FileEntry.

Definition at line 144 of file ziphead.cpp.

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

Sets the time field for the entry.

Parameters:
timethe time field is set to the specified value.

Implements zipios::FileEntry.

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

Implements zipios::FileEntry.

Reimplemented in zipios::ZipCDirEntry.

Definition at line 157 of file ziphead.cpp.


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