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

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.

Constructor & Destructor Documentation

◆ ZipLocalEntry()

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

Definition at line 27 of file ziphead.h.

◆ ~ZipLocalEntry()

virtual zipios::ZipLocalEntry::~ZipLocalEntry ( )
inlinevirtual

Definition at line 69 of file ziphead.h.

Member Function Documentation

◆ clone()

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.

◆ getComment()

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.

◆ getCompressedSize()

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.

◆ getCrc()

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.

◆ getExtra()

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.

◆ getFileName()

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.

◆ getLocalHeaderSize()

int zipios::ZipLocalEntry::getLocalHeaderSize ( ) const

Definition at line 164 of file ziphead.cpp.

◆ getMethod()

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.

◆ getName()

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.

◆ getSize()

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.

◆ getTime()

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.

◆ isDirectory()

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.

◆ isValid()

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.

◆ setComment()

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.

◆ setCompressedSize()

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.

◆ setCrc()

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.

◆ setDefaultExtract()

void zipios::ZipLocalEntry::setDefaultExtract ( )

Definition at line 58 of file ziphead.cpp.

◆ setExtra()

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.

◆ setMethod()

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.

◆ setName()

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.

◆ setSize()

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.

◆ setTime()

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.

◆ toString()

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.

◆ trailingDataDescriptor()

bool zipios::ZipLocalEntry::trailingDataDescriptor ( ) const

Definition at line 168 of file ziphead.cpp.

Friends And Related Symbol Documentation

◆ operator==

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

Definition at line 20 of file ziphead.cpp.

Member Data Documentation

◆ _valid

bool zipios::ZipLocalEntry::_valid
protected

Definition at line 86 of file ziphead.h.

◆ compress_method

uint16 zipios::ZipLocalEntry::compress_method
protected

Definition at line 74 of file ziphead.h.

◆ compress_size

uint32 zipios::ZipLocalEntry::compress_size
protected

Definition at line 78 of file ziphead.h.

◆ crc_32

uint32 zipios::ZipLocalEntry::crc_32
protected

Definition at line 77 of file ziphead.h.

◆ extra_field

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

Definition at line 84 of file ziphead.h.

◆ extra_field_len

uint16 zipios::ZipLocalEntry::extra_field_len
protected

Definition at line 81 of file ziphead.h.

◆ extract_version

uint16 zipios::ZipLocalEntry::extract_version
protected

Definition at line 72 of file ziphead.h.

◆ filename

string zipios::ZipLocalEntry::filename
protected

Definition at line 83 of file ziphead.h.

◆ filename_len

uint16 zipios::ZipLocalEntry::filename_len
protected

Definition at line 80 of file ziphead.h.

◆ gp_bitfield

uint16 zipios::ZipLocalEntry::gp_bitfield
protected

Definition at line 73 of file ziphead.h.

◆ last_mod_fdate

uint16 zipios::ZipLocalEntry::last_mod_fdate
protected

Definition at line 76 of file ziphead.h.

◆ last_mod_ftime

uint16 zipios::ZipLocalEntry::last_mod_ftime
protected

Definition at line 75 of file ziphead.h.

◆ signature

const uint32 zipios::ZipLocalEntry::signature = 0x04034b50
staticprotected

Definition at line 71 of file ziphead.h.

◆ uncompress_size

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: