sead
Loading...
Searching...
No Matches
seadAliasFileDevice.h
Go to the documentation of this file.
1#ifndef SEAD_ALIAS_FILEDEVICE_H_
2#define SEAD_ALIAS_FILEDEVICE_H_
3
4#include <filedevice/seadFileDevice.h>
5
6namespace sead {
7
9{
11
12public:
13 AliasFileDevice(const SafeString& drive_name, FileDevice* device, const SafeString& path);
14 ~AliasFileDevice() override;
15
16 void traceFilePath(const SafeString& path) const override;
17 void traceDirectoryPath(const SafeString& path) const override;
18 void resolveFilePath(BufferedSafeString* out, const SafeString& path) const override;
19 void resolveDirectoryPath(BufferedSafeString* out, const SafeString& path) const override;
20
21protected:
22 bool doIsAvailable_() const override;
23 FileDevice* doOpen_(FileHandle* handle, const SafeString& filename, FileOpenFlag flag) override;
24 bool doClose_(FileHandle* handle) override;
25 bool doRead_(u32* read_size, FileHandle* handle, u8* buf, u32 size) override;
26 bool doWrite_(u32* write_size, FileHandle* handle, const u8* buf, u32 size) override;
27 bool doSeek_(FileHandle* handle, s32 offset, SeekOrigin origin) override;
28 bool doGetCurrentSeekPos_(u32* pos, FileHandle* handle) override;
29 bool doGetFileSize_(u32* size, const SafeString& path) override;
30 bool doGetFileSize_(u32* size, FileHandle* handle) override;
31 bool doIsExistFile_(bool* is_exist, const SafeString& path) override;
32 bool doIsExistDirectory_(bool* is_exist, const SafeString& path) override;
33 FileDevice* doOpenDirectory_(DirectoryHandle* handle, const SafeString& dirname) override;
34 bool doCloseDirectory_(DirectoryHandle* handle) override;
35 bool doReadDirectory_(u32* read_num, DirectoryHandle* handle, DirectoryEntry* entry, u32 num) override;
36 bool doMakeDirectory_(const SafeString& path, u32 permission) override;
37 bool isMatchDevice_(const HandleBase* handle) const override;
38 RawErrorCode doGetLastRawError_() const override;
39
40protected:
43};
44#ifdef cafe
45static_assert(sizeof(AliasFileDevice) == 0x164, "sead::AliasFileDevice size mismatch");
46#endif // cafe
47
48} // namespace sead
49
50#endif // SEAD_ALIAS_FILEDEVICE_H_
Definition seadAliasFileDevice.h:9
void resolveDirectoryPath(BufferedSafeString *out, const SafeString &path) const override
Definition seadAliasFileDevice.cpp:150
bool isMatchDevice_(const HandleBase *handle) const override
Definition seadAliasFileDevice.cpp:112
bool doCloseDirectory_(DirectoryHandle *handle) override
Definition seadAliasFileDevice.cpp:97
bool doIsExistFile_(bool *is_exist, const SafeString &path) override
Definition seadAliasFileDevice.cpp:73
bool doClose_(FileHandle *handle) override
Definition seadAliasFileDevice.cpp:35
AliasFileDevice(const SafeString &drive_name, FileDevice *device, const SafeString &path)
Definition seadAliasFileDevice.cpp:5
bool doSeek_(FileHandle *handle, s32 offset, SeekOrigin origin) override
Definition seadAliasFileDevice.cpp:50
bool doGetCurrentSeekPos_(u32 *pos, FileHandle *handle) override
Definition seadAliasFileDevice.cpp:55
FixedSafeString< 256 > mPath
Definition seadAliasFileDevice.h:42
bool doIsAvailable_() const override
Definition seadAliasFileDevice.cpp:22
void resolveFilePath(BufferedSafeString *out, const SafeString &path) const override
Definition seadAliasFileDevice.cpp:142
FileDevice * doOpenDirectory_(DirectoryHandle *handle, const SafeString &dirname) override
Definition seadAliasFileDevice.cpp:89
FileDevice * doOpen_(FileHandle *handle, const SafeString &filename, FileOpenFlag flag) override
Definition seadAliasFileDevice.cpp:27
bool doReadDirectory_(u32 *read_num, DirectoryHandle *handle, DirectoryEntry *entry, u32 num) override
Definition seadAliasFileDevice.cpp:102
bool doMakeDirectory_(const SafeString &path, u32 permission) override
Definition seadAliasFileDevice.cpp:107
void traceFilePath(const SafeString &path) const override
Definition seadAliasFileDevice.cpp:122
~AliasFileDevice() override
Definition seadAliasFileDevice.cpp:18
bool doIsExistDirectory_(bool *is_exist, const SafeString &path) override
Definition seadAliasFileDevice.cpp:81
bool doRead_(u32 *read_size, FileHandle *handle, u8 *buf, u32 size) override
Definition seadAliasFileDevice.cpp:40
bool doGetFileSize_(u32 *size, const SafeString &path) override
Definition seadAliasFileDevice.cpp:60
void traceDirectoryPath(const SafeString &path) const override
Definition seadAliasFileDevice.cpp:132
FileDevice * mFileDevice
Definition seadAliasFileDevice.h:41
bool doWrite_(u32 *write_size, FileHandle *handle, const u8 *buf, u32 size) override
Definition seadAliasFileDevice.cpp:45
bool doGetFileSize_(u32 *size, FileHandle *handle) override
Definition seadAliasFileDevice.cpp:68
RawErrorCode doGetLastRawError_() const override
Definition seadAliasFileDevice.cpp:117
Definition seadFileDevice.h:421
Definition seadFileDevice.h:56
SeekOrigin
Definition seadFileDevice.h:69
FileOpenFlag
Definition seadFileDevice.h:61
Definition seadFileDevice.h:376
Definition seadSafeString.h:432
Definition seadFileDevice.h:20
Definition seadAssert.h:44
s32 RawErrorCode
Definition seadFileDevice.h:14
SafeStringBase< char > SafeString
Definition seadSafeString.h:420
BufferedSafeStringBase< char > BufferedSafeString
Definition seadSafeString.h:422
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96
Definition seadFileDevice.h:443