|
Nebula
|
#include <archivebase.h>
Base class of file archives.
Subclasses of this class implemented support for specific archive formats, like zip.
Inherits Core::RefCounted.
Inherited by IO::ZipArchive.
Public Member Functions | |
| ArchiveBase () | |
| constructor | |
| virtual | ~ArchiveBase () |
| destructor | |
| bool | Setup (const URI &archiveURI, const Util::String &rootPath) |
| setup the archive from an URI (without file extension) | |
| void | Discard () |
| discard the archive | |
| bool | IsValid () const |
| return true if archive is valid | |
| const URI & | GetURI () const |
| get the URI of the archive | |
| Util::Array< Util::String > | ListFiles (const Util::String &dirPathInArchive, const Util::String &pattern) const |
| list all files in a directory in the archive | |
| Util::Array< Util::String > | ListDirectories (const Util::String &dirPathInArchive, const Util::String &pattern) const |
| list all subdirectories in a directory in the archive | |
| URI | ConvertToArchiveURI (const URI &fileURI) const |
| convert a "file:" URI into a archive-specific URI pointing into this archive | |
| Util::String | ConvertToPathInArchive (const Util::String &absPath) const |
| convert an absolute path to local path inside archive, returns empty string if absPath doesn't point into this archive | |
Public Member Functions inherited from Core::RefCounted | |
| RefCounted () | |
| constructor | |
| int | GetRefCount () const |
| get the current refcount | |
| void | AddRef () |
| increment refcount by one | |
| void | Release () |
| decrement refcount and destroy object if refcount is zero | |
| bool | IsInstanceOf (const Rtti &rtti) const |
| return true if this object is instance of given class | |
| bool | IsInstanceOf (const Util::String &className) const |
| return true if this object is instance of given class by string | |
| bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
| return true if this object is instance of given class by fourcc | |
| bool | IsA (const Rtti &rtti) const |
| return true if this object is instance of given class, or a derived class | |
| bool | IsA (const Util::String &rttiName) const |
| return true if this object is instance of given class, or a derived class, by string | |
| bool | IsA (const Util::FourCC &rttiFourCC) const |
| return true if this object is instance of given class, or a derived class, by fourcc | |
| const Util::String & | GetClassName () const |
| get the class name | |
| Util::FourCC | GetClassFourCC () const |
| get the class FourCC code | |
Protected Attributes | |
| bool | isValid |
| URI | uri |
Private Member Functions | |
| __DeclareClass (ArchiveBase) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
| static void | DumpRefCountingLeaks () |
| dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Protected Member Functions inherited from Core::RefCounted | |
| virtual | ~RefCounted () |
| destructor (called when refcount reaches zero) | |
| IO::ArchiveBase::ArchiveBase | ( | ) |
constructor
|
virtual |
destructor
|
private |
| String IO::ArchiveBase::ConvertToPathInArchive | ( | const Util::String & | absPath | ) | const |
convert an absolute path to local path inside archive, returns empty string if absPath doesn't point into this archive
This method should convert an absolute file system path into a local path in the archive suitable for ListFiles() and ListDirectories().
Override this method in a subclass!
| void IO::ArchiveBase::Discard | ( | ) |
discard the archive
|
inline |
return true if archive is valid
| Array< String > IO::ArchiveBase::ListDirectories | ( | const Util::String & | dirPathInArchive, |
| const Util::String & | pattern ) const |
list all subdirectories in a directory in the archive
List all directories in an archive directory.
Override this method in a subclass!
| Array< String > IO::ArchiveBase::ListFiles | ( | const Util::String & | dirPathInArchive, |
| const Util::String & | pattern ) const |
list all files in a directory in the archive
List all files in an archive directory.
Override this method in a subclass!
| bool IO::ArchiveBase::Setup | ( | const URI & | archiveFileURI, |
| const Util::String & | rootPath ) |
|
protected |
|
protected |