16void Archive::unmount() {
17 if (--m_refCount <= 0) {
23s32 Archive::convertPathToEntryId(
const char *path)
const {
24 return m_handle.convertPathToEntryId(path);
29 m_handle.open(entryId, info);
30 return m_handle.getFileAddress(info);
42 while (iter && iter->m_handle.startAddress() != archiveStart) {
58 archive =
new Archive(archiveStart);
62 archive->m_refCount++;
69Archive::Archive(
void *archiveStart) : m_handle(archiveStart) {}
static Abstract::Memory::MEMList s_archiveList
The linked list of all mounted archives.
static Archive * FindArchive(void *archiveStart)
Checks to see if a given archive is already mounted.
~Archive()
Removes the archive from the static list.
static Archive * Mount(void *archiveStart)
Creates a new Archive object or increments the ref count for an already existing Archive.
Intrusive doubly-linked list. Links are placed within the corresponding object.