zipios::FileEntry Class Referenceabstract

A FileEntry represents an entry in a FileCollection. More...

`#include <fileentry.h>`

Inheritance diagram for zipios::FileEntry:
[legend]

## Classes

class | MatchName
| Function object to be used with the STL find_if algorithm to find a FileEntry in a container, which name (as obtained with FileEntry::getName()) is identical to the name specified in the MatchName constructor. More...
class | MatchFileName
| Function object to be used with the STL find_if algorithm to find a FileEntry in a container, which name (as obtained with FileEntry::getFileName()) is identical to the name specified in the MatchName constructor. More...

## Public Member Functions

virtual string | getComment () const =0
| Returns the comment of the entry, if it has one.
virtual uint32 | getCompressedSize () const =0
| Returns the compressed size of the entry.
virtual uint32 | getCrc () const =0
| Returns the Crc for the entry, if it has one.
virtual vector< unsigned char > | getExtra () const =0
| Returns a vector of bytes of extra data that may be stored with the entry.
virtual StorageMethod | getMethod () const =0
| Returns the method used to store the entry in the FileCollection.
virtual string | getName () const =0
| Returns the full filename of the entry, including a path if the entry is stored in a subfolder.
virtual string | getFileName () const =0
| Returns the filename of the entry.
virtual uint32 | getSize () const =0
| Returns the (uncompressed) size of the entry data.
virtual int | getTime () const =0
| Returns the date and time of FIXME: what?
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.
virtual bool | isDirectory () const =0
| Returns true if the entry is a directory.
virtual void | setComment (const string &comment)=0
| Sets the comment field for the FileEntry.
virtual void | setCompressedSize (uint32 size)=0
| Set the compressed size field of the entry.
virtual void | setCrc (uint32 crc)=0
| Sets the crc field.
virtual void | setExtra (const vector< unsigned char > &extra)=0
| Sets the extra field.
virtual void | setMethod (StorageMethod method)=0
| Sets the storage method field for the entry.
virtual void | setName (const string &name)=0
| Sets the name field for the entry.
virtual void | setSize (uint32 size)=0
| Sets the size field for the entry.
virtual void | setTime (int time)=0
| Sets the time field for the entry.
virtual string | toString () const =0
| Returns a human-readable string representation of the entry.
virtual FileEntry * | clone () const =0
| Create a heap allocated clone of the object this method is called for.
virtual | ~FileEntry ()
| FileEntry destructor.

## Protected Member Functions

void | ref () const
unsigned int | unref () const

## Protected Attributes

ReferenceCount< FileEntry > | _refcount

## Friends

class | SimpleSmartPointer< FileEntry >
class | SimpleSmartPointer< const FileEntry >

## Detailed Description

A FileEntry represents an entry in a FileCollection.

The interface is a copy of the ZipEntry interface from the java.util.zip package. The name has been changed to FileEntry, as FileCollection is a more general abstraction, that covers other types of file collections than just zip files.

Definition at line 52 of file fileentry.h.

## Constructor & Destructor Documentation

## ~FileEntry()

virtual zipios::FileEntry::~FileEntry | ( |  | ) |

inline virtual

FileEntry destructor.

Definition at line 163 of file fileentry.h.

## Member Function Documentation

## clone()

virtual FileEntry * zipios::FileEntry::clone | ( |  | ) | const

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

Implemented in zipios::BasicEntry, zipios::ZipCDirEntry, and zipios::ZipLocalEntry.

## getComment()

virtual string zipios::FileEntry::getComment | ( |  | ) | const

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

Implemented in zipios::BasicEntry, zipios::ZipCDirEntry, and zipios::ZipLocalEntry.

## getCompressedSize()

virtual uint32 zipios::FileEntry::getCompressedSize | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getCrc()

virtual uint32 zipios::FileEntry::getCrc | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getExtra()

virtual vector< unsigned char > zipios::FileEntry::getExtra | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getFileName()

virtual string zipios::FileEntry::getFileName | ( |  | ) | const

pure virtual

Returns the filename of the entry.

Returns
  Returns the filename of the entry.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getMethod()

virtual StorageMethod zipios::FileEntry::getMethod | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getName()

virtual string zipios::FileEntry::getName | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getSize()

virtual uint32 zipios::FileEntry::getSize | ( |  | ) | const

pure virtual

Returns the (uncompressed) size of the entry data.

Returns
  Returns the (uncompressed) size of the entry.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## getTime()

virtual int zipios::FileEntry::getTime | ( |  | ) | const

pure virtual

Returns the date and time of FIXME: what?

Returns
  the date and time of the entry.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## isDirectory()

virtual bool zipios::FileEntry::isDirectory | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## isValid()

virtual bool zipios::FileEntry::isValid | ( |  | ) | const

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

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## ref()

void zipios::FileEntry::ref | ( |  | ) | const

inline protected

Definition at line 171 of file fileentry.h.

## setComment()

virtual void zipios::FileEntry::setComment | ( | const string & | comment | ) |

pure virtual

Sets the comment field for the FileEntry.

Parameters

  comment | string with the new comment.

Implemented in zipios::BasicEntry, zipios::ZipCDirEntry, and zipios::ZipLocalEntry.

## setCompressedSize()

virtual void zipios::FileEntry::setCompressedSize | ( | uint32 | size | ) |

pure virtual

Set the compressed size field of the entry.

Parameters

  size | value to set the compressed size field of the entry to.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## setCrc()

virtual void zipios::FileEntry::setCrc | ( | uint32 | crc | ) |

pure virtual

Sets the crc field.

Parameters

  crc | value to set the crc field to.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## setExtra()

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

pure virtual

Sets the extra field.

Parameters

  extra | the extra field is set to this value.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## setMethod()

virtual void zipios::FileEntry::setMethod | ( | StorageMethod | method | ) |

pure virtual

Sets the storage method field for the entry.

Parameters

  method | the method field is set to the specified value.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## setName()

virtual void zipios::FileEntry::setName | ( | const string & | name | ) |

pure virtual

Sets the name field for the entry.

Parameters

  name | the name field is set to the specified value.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## setSize()

virtual void zipios::FileEntry::setSize | ( | uint32 | size | ) |

pure virtual

Sets the size field for the entry.

Parameters

  size | the size field is set to this value.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## setTime()

virtual void zipios::FileEntry::setTime | ( | int | time | ) |

pure virtual

Sets the time field for the entry.

Parameters

  time | the time field is set to the specified value.

Implemented in zipios::BasicEntry, and zipios::ZipLocalEntry.

## toString()

virtual string zipios::FileEntry::toString | ( |  | ) | const

pure virtual

Returns a human-readable string representation of the entry.

Returns
  a human-readable string representation of the entry.

Implemented in zipios::BasicEntry, zipios::ZipCDirEntry, and zipios::ZipLocalEntry.

## unref()

unsigned int zipios::FileEntry::unref | ( |  | ) | const

inline protected

Definition at line 172 of file fileentry.h.

## Friends And Related Symbol Documentation

## SimpleSmartPointer< const FileEntry >

friend class SimpleSmartPointer< const FileEntry >

friend

Definition at line 163 of file fileentry.h.

## SimpleSmartPointer< FileEntry >

friend class SimpleSmartPointer< FileEntry >

friend

Definition at line 163 of file fileentry.h.

## Member Data Documentation

## _refcount

ReferenceCount< FileEntry > zipios::FileEntry::_refcount

protected

Definition at line 174 of file fileentry.h.

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

- fileentry.h