1#ifndef SEAD_ARCHIVE_FILEDEVICE_H_
2#define SEAD_ARCHIVE_FILEDEVICE_H_
4#include <filedevice/seadFileDevice.h>
5#include <resource/seadArchiveRes.h>
46 virtual bool doWrite_(u32* write_size,
FileHandle* handle,
const u8* buf, u32 size) {
return false; }
75static_assert(
sizeof(
ArchiveFileDevice) == 0x58,
"sead::ArchiveFileDevice size mismatch");
Definition seadArchiveFileDevice.h:10
virtual FileDevice * doOpen_(FileHandle *handle, const SafeString &filename, FileOpenFlag flag)
Definition seadArchiveFileDevice.cpp:236
virtual bool doRead_(u32 *read_size, FileHandle *handle, u8 *buf, u32 size)
Definition seadArchiveFileDevice.cpp:308
virtual u8 * doLoadWithEntryID_(s32 entry_id, LoadArg &arg)
Definition seadArchiveFileDevice.cpp:129
virtual bool doSeek_(FileHandle *handle, s32 offset, SeekOrigin origin)
Definition seadArchiveFileDevice.cpp:323
virtual FileDevice * doOpenDirectory_(DirectoryHandle *handle, const SafeString &dirname)
Definition seadArchiveFileDevice.cpp:369
s32 tryConvertPathToEntryID(const SafeString &filename)
Definition seadArchiveFileDevice.cpp:28
virtual bool doReadDirectory_(u32 *read_num, DirectoryHandle *handle, DirectoryEntry *entry, u32 num)
Definition seadArchiveFileDevice.cpp:398
virtual bool doSetCurrentDirectory_(const SafeString &path)
Definition seadArchiveFileDevice.cpp:413
ArchiveRes * getArchive() const
Definition seadArchiveFileDevice.h:27
bool setCurrentDirectory(const SafeString &path)
Definition seadArchiveFileDevice.cpp:33
virtual bool doIsExistFile_(bool *is_exist, const SafeString &path)
Definition seadArchiveFileDevice.cpp:87
virtual bool doIsAvailable_() const
Definition seadArchiveFileDevice.h:38
virtual bool doClose_(FileHandle *handle)
Definition seadArchiveFileDevice.cpp:303
virtual bool doGetFileSize_(u32 *size, FileHandle *handle)
Definition seadArchiveFileDevice.cpp:68
ArchiveRes * mArchive
Definition seadArchiveFileDevice.h:72
virtual bool doMakeDirectory_(const SafeString &path, u32 permission)
Definition seadArchiveFileDevice.cpp:430
ArchiveFileDevice(ArchiveRes *archive=nullptr)
Definition seadArchiveFileDevice.h:12
virtual bool doIsExistDirectory_(bool *is_exist, const SafeString &path)
Definition seadArchiveFileDevice.cpp:106
ArchiveFileHandle * getArchiveFileHandle_(FileHandle *handle)
Definition seadArchiveFileDevice.cpp:124
void setArchive(ArchiveRes *archive)
Definition seadArchiveFileDevice.h:22
virtual bool doGetFileSize_(u32 *size, const SafeString &path)
Definition seadArchiveFileDevice.cpp:42
virtual FileDevice * doOpenWithEntryID_(FileHandle *handle, s32 entry_id, FileOpenFlag flag)
Definition seadArchiveFileDevice.cpp:267
FileDevice * tryOpenWithEntryID(FileHandle *handle, s32 entry_id, FileOpenFlag flag, u32 div_size)
Definition seadArchiveFileDevice.cpp:16
virtual bool doGetCurrentSeekPos_(u32 *pos, FileHandle *handle)
Definition seadArchiveFileDevice.cpp:351
virtual ~ArchiveFileDevice()
Definition seadArchiveFileDevice.h:18
virtual s32 doConvertPathToEntryID_(const SafeString &filename)
Definition seadArchiveFileDevice.cpp:292
u8 * tryLoadWithEntryID(s32 entry_id, LoadArg &arg)
Definition seadArchiveFileDevice.cpp:7
virtual bool doCloseDirectory_(DirectoryHandle *handle)
Definition seadArchiveFileDevice.cpp:387
virtual u8 * doLoad_(LoadArg &arg)
Definition seadArchiveFileDevice.cpp:208
virtual RawErrorCode doGetLastRawError_() const
Definition seadArchiveFileDevice.cpp:435
virtual bool doWrite_(u32 *write_size, FileHandle *handle, const u8 *buf, u32 size)
Definition seadArchiveFileDevice.h:46
Definition seadArchiveRes.h:18
Definition seadArchiveRes.h:13
Definition seadFileDevice.h:421
Definition seadFileDevice.h:56
SeekOrigin
Definition seadFileDevice.h:69
FileOpenFlag
Definition seadFileDevice.h:61
Definition seadFileDevice.h:376
Definition seadAssert.h:44
s32 RawErrorCode
Definition seadFileDevice.h:14
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
Definition seadArchiveFileDevice.h:62
ArchiveRes::FileInfo file_info
Definition seadArchiveFileDevice.h:64
u32 cur_pos
Definition seadArchiveFileDevice.h:65
const u8 * image
Definition seadArchiveFileDevice.h:63
Definition seadFileDevice.h:443
Definition seadFileDevice.h:83