1#ifndef SEAD_CAFE_FSA_FILEDEVICE_H_
2#define SEAD_CAFE_FSA_FILEDEVICE_H_
6#include <filedevice/seadFileDevice.h>
7#include <prim/seadRuntimeTypeInfo.h>
8#include <prim/seadSafeString.h>
97static_assert(
sizeof(
CafeFSAFileDevice) == 0x6C,
"sead::CafeFSAFileDevice size mismatch");
Definition seadCafeFSAFileDeviceCafe.h:100
CafeContentFileDevice()
Definition seadCafeFSAFileDeviceCafe.cpp:460
virtual ~CafeContentFileDevice()
Definition seadCafeFSAFileDeviceCafe.h:105
Definition seadCafeFSAFileDeviceCafe.h:13
bool doCloseDirectory_(DirectoryHandle *handle) override
Definition seadCafeFSAFileDeviceCafe.cpp:348
CafeFSAFileDevice(const SafeString &default_drive_name, const SafeString &cwd_path)
Definition seadCafeFSAFileDeviceCafe.cpp:12
RawErrorCode doGetLastRawError_() const override
Definition seadCafeFSAFileDeviceCafe.cpp:424
void changeDir(const char *path)
Definition seadCafeFSAFileDeviceCafe.h:20
bool doIsAvailable_() const override
Definition seadCafeFSAFileDeviceCafe.h:43
FSStatus mLastRawError
Definition seadCafeFSAFileDeviceCafe.h:91
void doResolvePath_(BufferedSafeString *out, const SafeString &path) const override
Definition seadCafeFSAFileDeviceCafe.h:64
DirHandleInner * getDirHandleInner_(DirectoryHandle *handle)
Definition seadCafeFSAFileDeviceCafe.cpp:453
FSRetFlag mFSOpenRetFlag
Definition seadCafeFSAFileDeviceCafe.h:92
virtual void formatPathForFSA_(BufferedSafeString *out, const SafeString &path) const
Definition seadCafeFSAFileDeviceCafe.cpp:430
bool doGetFileSize_(u32 *size, FileHandle *handle) override
Definition seadCafeFSAFileDeviceCafe.cpp:242
FSRetFlag mFSReadRetFlag
Definition seadCafeFSAFileDeviceCafe.h:94
bool doGetFileSize_(u32 *size, const SafeString &path) override
Definition seadCafeFSAFileDeviceCafe.cpp:219
virtual ~CafeFSAFileDevice()
Definition seadCafeFSAFileDeviceCafe.h:18
FSClient * getUsableFSClient_() const
Definition seadCafeFSAFileDeviceCafe.cpp:438
bool doMakeDirectory_(const SafeString &path, u32 permission) override
Definition seadCafeFSAFileDeviceCafe.cpp:404
const char * getCWD() const
Definition seadCafeFSAFileDeviceCafe.h:25
FileDevice * doOpen_(FileHandle *handle, const SafeString &filename, FileOpenFlag flag) override
Definition seadCafeFSAFileDeviceCafe.cpp:43
bool doIsExistFile_(bool *is_exist, const SafeString &path) override
Definition seadCafeFSAFileDeviceCafe.cpp:263
FSClient * mFSClient
Definition seadCafeFSAFileDeviceCafe.h:95
bool doWrite_(u32 *write_size, FileHandle *handle, const u8 *buf, u32 size) override
Definition seadCafeFSAFileDeviceCafe.cpp:136
bool doClose_(FileHandle *handle) override
Definition seadCafeFSAFileDeviceCafe.cpp:90
const char * mCWDPath
Definition seadCafeFSAFileDeviceCafe.h:90
FSClient * getFSClient() const
Definition seadCafeFSAFileDeviceCafe.h:35
bool doRead_(u32 *read_size, FileHandle *handle, u8 *buf, u32 size) override
Definition seadCafeFSAFileDeviceCafe.cpp:106
void setFSClient(FSClient *client)
Definition seadCafeFSAFileDeviceCafe.h:30
FileHandleInner * getFileHandleInner_(FileHandle *handle)
Definition seadCafeFSAFileDeviceCafe.cpp:446
bool doIsExistDirectory_(bool *is_exist, const SafeString &path) override
Definition seadCafeFSAFileDeviceCafe.cpp:294
static bool setCurrentDirectory(const SafeString &path)
Definition seadCafeFSAFileDeviceCafe.cpp:28
bool doSeek_(FileHandle *handle, s32 offset, SeekOrigin origin) override
Definition seadCafeFSAFileDeviceCafe.cpp:166
FSRetFlag mFSCloseRetFlag
Definition seadCafeFSAFileDeviceCafe.h:93
FileDevice * doOpenDirectory_(DirectoryHandle *handle, const SafeString &dirname) override
Definition seadCafeFSAFileDeviceCafe.cpp:325
bool doGetCurrentSeekPos_(u32 *pos, FileHandle *handle) override
Definition seadCafeFSAFileDeviceCafe.cpp:209
bool doReadDirectory_(u32 *read_num, DirectoryHandle *handle, DirectoryEntry *entry, u32 num) override
Definition seadCafeFSAFileDeviceCafe.cpp:366
Definition seadCafeFSAFileDeviceCafe.h:132
virtual ~CafeFSNativePathFileDevice()
Definition seadCafeFSAFileDeviceCafe.h:137
CafeFSNativePathFileDevice()
Definition seadCafeFSAFileDeviceCafe.cpp:545
void formatPathForFSA_(BufferedSafeString *out, const SafeString &path) const override
Definition seadCafeFSAFileDeviceCafe.cpp:550
Definition seadCafeFSAFileDeviceCafe.h:118
virtual ~CafeHostIOFileDevice()
Definition seadCafeFSAFileDeviceCafe.h:123
void formatPathForFSA_(BufferedSafeString *out, const SafeString &path) const override
Definition seadCafeFSAFileDeviceCafe.cpp:475
u32 convertPathWinToFSA_(char *buffer, u32 buffer_size, const char *path) const
Definition seadCafeFSAFileDeviceCafe.cpp:516
CafeHostIOFileDevice()
Definition seadCafeFSAFileDeviceCafe.cpp:470
Definition seadCafeFSAFileDeviceCafe.h:109
virtual ~CafeSDFileDevice()
Definition seadCafeFSAFileDeviceCafe.h:114
CafeSDFileDevice()
Definition seadCafeFSAFileDeviceCafe.cpp:465
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:420
BufferedSafeStringBase< char > BufferedSafeString
Definition seadSafeString.h:422
#define SEAD_RTTI_OVERRIDE(CLASS, BASE)
Definition seadRuntimeTypeInfo.h:96
Definition seadCafeFSAFileDeviceCafe.h:81
FSDirHandle mHandle
Definition seadCafeFSAFileDeviceCafe.h:82
Definition seadCafeFSAFileDeviceCafe.h:75
FSFilePosition mPosition
Definition seadCafeFSAFileDeviceCafe.h:77
FSFileHandle mHandle
Definition seadCafeFSAFileDeviceCafe.h:76
Definition seadFileDevice.h:443