ScummVM API documentation
Common::ArchiveMember Class Referenceabstract

#include <archive.h>

Inheritance diagram for Common::ArchiveMember:
Common::FSNode Common::GenericArchiveMember Common::ProDOSFile Grim::LabEntry Wintermute::BaseFileEntry

Public Member Functions

virtual SeekableReadStreamcreateReadStream () const =0
 
virtual SeekableReadStreamcreateReadStreamForAltStream (AltStreamType altStreamType) const =0
 
virtual String getName () const =0
 
virtual Path getPathInArchive () const =0
 
virtual String getFileName () const =0
 
virtual bool isDirectory () const
 
virtual void listChildren (ArchiveMemberList &childList, const char *pattern=nullptr) const
 
virtual U32String getDisplayName () const
 
virtual bool isInMacArchive () const
 

Detailed Description

The ArchiveMember class is an abstract interface to represent elements inside implementations of an archive.

Archive subclasses must provide their own implementation of ArchiveMember, and use it when serving calls to Archive::listMembers and Archive::listMatchingMembers. Alternatively, you can use the GenericArchiveMember.

Member Function Documentation

◆ createReadStream()

virtual SeekableReadStream* Common::ArchiveMember::createReadStream ( ) const
pure virtual

◆ createReadStreamForAltStream()

virtual SeekableReadStream* Common::ArchiveMember::createReadStreamForAltStream ( AltStreamType  altStreamType) const
pure virtual

Create a read stream of an alternate stream.

Implemented in Common::FSNode, Common::GenericArchiveMember, Common::ProDOSFile, Grim::LabEntry, and Wintermute::BaseFileEntry.

◆ getName()

virtual String Common::ArchiveMember::getName ( ) const
pure virtual

◆ getPathInArchive()

virtual Path Common::ArchiveMember::getPathInArchive ( ) const
pure virtual

Get the full path of the archive member relative to the containing archive root.

Implemented in Common::FSNode, Common::GenericArchiveMember, Common::ProDOSFile, Wintermute::BaseFileEntry, and Grim::LabEntry.

◆ getFileName()

virtual String Common::ArchiveMember::getFileName ( ) const
pure virtual

Get the file name of the archive member relative to its containing directory within the archive.

Implemented in Common::FSNode, Common::GenericArchiveMember, Common::ProDOSFile, Wintermute::BaseFileEntry, and Grim::LabEntry.

◆ isDirectory()

virtual bool Common::ArchiveMember::isDirectory ( ) const
virtual

Checks if the ArchiveMember is a directory.

Reimplemented in Common::FSNode, and Common::GenericArchiveMember.

◆ listChildren()

virtual void Common::ArchiveMember::listChildren ( ArchiveMemberList childList,
const char *  pattern = nullptr 
) const
virtual

Adds the immediate children of this archive member to childList, optionally matching a pattern.

Reimplemented in Common::FSNode, and Common::GenericArchiveMember.

◆ getDisplayName()

virtual U32String Common::ArchiveMember::getDisplayName ( ) const
virtual

Get the display name of the archive member.

Reimplemented in Common::FSNode.

◆ isInMacArchive()

virtual bool Common::ArchiveMember::isInMacArchive ( ) const
virtual

Checks if the ArchiveMember is in a Mac archive, in which case resource forks and Finder info can only be loaded via alt streams.


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