zipios::FileEntry Class Referenceabstract

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

#include <fileentry.h>

Classes

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

Public Member Functions

virtual FileEntryclone () 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 Member Functions

void ref () const
 
unsigned int unref () const
 

Friends

class SimpleSmartPointer< const FileEntry >
 
class SimpleSmartPointer< 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.

Constructor & Destructor Documentation

◆ ~FileEntry()

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

FileEntry destructor.

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::ZipLocalEntry, and zipios::ZipCDirEntry.

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

◆ 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::ZipLocalEntry, and zipios::ZipCDirEntry.

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

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

◆ ref()

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

◆ setComment()

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

Sets the comment field for the FileEntry.

Parameters
commentstring with the new comment.

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

◆ setCompressedSize()

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

Set the compressed size field of the entry.

Parameters
sizevalue 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
crcvalue 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
extrathe 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
methodthe 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
namethe 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
sizethe 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
timethe 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::ZipLocalEntry, and zipios::ZipCDirEntry.

Referenced by zipios::operator<<().

◆ unref()

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

Friends And Related Function Documentation

◆ SimpleSmartPointer< const FileEntry >

friend class SimpleSmartPointer< const FileEntry >
friend

◆ SimpleSmartPointer< FileEntry >


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