sead
Loading...
Searching...
No Matches
sead::CafeFSAFileDevice Class Reference

#include <seadCafeFSAFileDeviceCafe.h>

Inherits sead::FileDevice.

Inherited by sead::CafeContentFileDevice, sead::CafeFSNativePathFileDevice, sead::CafeHostIOFileDevice, and sead::CafeSDFileDevice.

Classes

struct  DirHandleInner
struct  FileHandleInner

Public Member Functions

 CafeFSAFileDevice (const SafeString &default_drive_name, const SafeString &cwd_path)
virtual ~CafeFSAFileDevice ()
void changeDir (const char *path)
const char * getCWD ()
Public Member Functions inherited from sead::FileDevice
 FileDevice (const SafeString &default_drive_name)
 ~FileDevice () override
const SafeStringgetDriveName () const
void setDriveName (const SafeString &drive_name)
void setPermission (bool permission)
bool hasPermission () const
bool isAvailable () const
u8 * load (LoadArg &arg)
u8 * tryLoad (LoadArg &arg)
void unload (u8 *data)
FileDeviceopen (FileHandle *handle, const SafeString &filename, FileOpenFlag flag, u32 div_size)
FileDevicetryOpen (FileHandle *handle, const SafeString &filename, FileOpenFlag flag, u32 div_size)
bool close (FileHandle *handle)
bool tryClose (FileHandle *handle)
u32 read (FileHandle *handle, u8 *buf, u32 size)
bool tryRead (u32 *read_size, FileHandle *handle, u8 *buf, u32 size)
u32 write (FileHandle *handle, const u8 *buf, u32 size)
bool tryWrite (u32 *write_size, FileHandle *handle, const u8 *buf, u32 size)
bool seek (FileHandle *handle, s32 offset, SeekOrigin origin)
bool trySeek (FileHandle *handle, s32 offset, SeekOrigin origin)
u32 getCurrentSeekPos (FileHandle *handle)
bool tryGetCurrentSeekPos (u32 *pos, FileHandle *handle)
u32 getFileSize (const SafeString &path)
u32 getFileSize (FileHandle *handle)
bool tryGetFileSize (u32 *size, const SafeString &path)
bool tryGetFileSize (u32 *size, FileHandle *handle)
bool isExistFile (const SafeString &path)
bool tryIsExistFile (bool *is_exist, const SafeString &path)
bool isExistDirectory (const SafeString &path)
bool tryIsExistDirectory (bool *is_exist, const SafeString &path)
FileDeviceopenDirectory (DirectoryHandle *handle, const SafeString &dirname)
FileDevicetryOpenDirectory (DirectoryHandle *handle, const SafeString &dirname)
bool closeDirectory (DirectoryHandle *handle)
bool tryCloseDirectory (DirectoryHandle *handle)
u32 readDirectory (DirectoryHandle *handle, DirectoryEntry *entry, u32 num)
bool tryReadDirectory (u32 *read_num, DirectoryHandle *handle, DirectoryEntry *entry, u32 num)
bool makeDirectory (const SafeString &path, u32 permission)
bool tryMakeDirectory (const SafeString &path, u32 permission)
bool makeDirectoryWithParent (const SafeString &path, u32 permission)
bool tryMakeDirectoryWithParent (const SafeString &path, u32 permission)
RawErrorCode getLastRawError () const
virtual void traceFilePath (const SafeString &path) const
virtual void traceDirectoryPath (const SafeString &path) const
virtual void resolveFilePath (BufferedSafeString *out, const SafeString &path) const
virtual void resolveDirectoryPath (BufferedSafeString *out, const SafeString &path) const
virtual bool isMatchDevice_ (const HandleBase *handle) const
Public Member Functions inherited from sead::TListNode< FileDevice * >
 TListNode ()
void insertBack (TListNode< FileDevice * > *n)
void insertFront (TListNode< FileDevice * > *n)
void erase ()
Public Member Functions inherited from sead::ListNode
 ListNode ()
ListNodenext () const
ListNodeprev () const
bool isLinked () const
Public Member Functions inherited from sead::IDisposer
 IDisposer ()
virtual ~IDisposer ()

Static Public Member Functions

static bool setCurrentDirectory (const SafeString &path)

Protected Member Functions

virtual bool doIsAvailable_ () const
virtual FileDevicedoOpen_ (FileHandle *handle, const SafeString &filename, FileOpenFlag flag)
virtual bool doClose_ (FileHandle *handle)
virtual bool doRead_ (u32 *read_size, FileHandle *handle, u8 *buf, u32 size)
virtual bool doWrite_ (u32 *write_size, FileHandle *handle, const u8 *buf, u32 size)
virtual bool doSeek_ (FileHandle *handle, s32 offset, SeekOrigin origin)
virtual bool doGetCurrentSeekPos_ (u32 *pos, FileHandle *handle)
virtual bool doGetFileSize_ (u32 *size, const SafeString &path)
virtual bool doGetFileSize_ (u32 *size, FileHandle *handle)
virtual bool doIsExistFile_ (bool *is_exist, const SafeString &path)
virtual bool doIsExistDirectory_ (bool *is_exist, const SafeString &path)
virtual FileDevicedoOpenDirectory_ (DirectoryHandle *handle, const SafeString &dirname)
virtual bool doCloseDirectory_ (DirectoryHandle *handle)
virtual bool doReadDirectory_ (u32 *read_num, DirectoryHandle *handle, DirectoryEntry *entry, u32 num)
virtual bool doMakeDirectory_ (const SafeString &path, u32 permission)
virtual RawErrorCode doGetLastRawError_ () const
virtual void doResolvePath_ (BufferedSafeString *out, const SafeString &path) const
virtual void formatPathForFSA_ (BufferedSafeString *out, const SafeString &path) const
FSClient * getUsableFSClient_ () const
FileHandleInnergetFileHandleInner_ (FileHandle *handle)
DirHandleInnergetDirHandleInner_ (DirectoryHandle *handle)
Protected Member Functions inherited from sead::FileDevice
virtual u8 * doLoad_ (LoadArg &arg)
virtual void doTracePath_ (const SafeString &path) const
HandleBuffergetHandleBaseHandleBuffer_ (HandleBase *handle) const
void setHandleBaseFileDevice_ (HandleBase *handle, FileDevice *device) const
void setHandleBaseOriginalFileDevice_ (HandleBase *handle, FileDevice *device) const
void setFileHandleDivSize_ (FileHandle *handle, u32 div_size) const

Protected Attributes

const char * mCWDPath
FSStatus mLastRawError
FSRetFlag mFSOpenRetFlag
FSRetFlag mFSCloseRetFlag
FSRetFlag mFSReadRetFlag
FSClient * mFSClient
Protected Attributes inherited from sead::FileDevice
FixedSafeString< cDriveNameBufferSizemDriveName
bool mPermission

Additional Inherited Members

Public Types inherited from sead::FileDevice
enum  FileOpenFlag { cFileOpenFlag_ReadOnly = 0 , cFileOpenFlag_WriteOnly = 1 , cFileOpenFlag_ReadWrite = 2 , cFileOpenFlag_Create = 3 }
enum  SeekOrigin { cSeekOrigin_Begin = 0 , cSeekOrigin_Current = 1 , cSeekOrigin_End = 2 }
Public Attributes inherited from sead::TListNode< FileDevice * >
FileDevicemData
TList< FileDevice * > * mList
Static Public Attributes inherited from sead::FileDevice
static const s32 cDriveNameBufferSize = 32
static const s32 cBufferMinAlignment = 64

Constructor & Destructor Documentation

◆ CafeFSAFileDevice()

sead::CafeFSAFileDevice::CafeFSAFileDevice ( const SafeString & default_drive_name,
const SafeString & cwd_path )

◆ ~CafeFSAFileDevice()

virtual sead::CafeFSAFileDevice::~CafeFSAFileDevice ( )
inlinevirtual

Member Function Documentation

◆ changeDir()

void sead::CafeFSAFileDevice::changeDir ( const char * path)
inline

◆ getCWD()

const char * sead::CafeFSAFileDevice::getCWD ( )
inline

◆ setCurrentDirectory()

bool sead::CafeFSAFileDevice::setCurrentDirectory ( const SafeString & path)
static

◆ doIsAvailable_()

virtual bool sead::CafeFSAFileDevice::doIsAvailable_ ( ) const
inlineprotectedvirtual

Implements sead::FileDevice.

◆ doOpen_()

FileDevice * sead::CafeFSAFileDevice::doOpen_ ( FileHandle * handle,
const SafeString & filename,
FileDevice::FileOpenFlag flag )
protectedvirtual

Implements sead::FileDevice.

◆ doClose_()

bool sead::CafeFSAFileDevice::doClose_ ( FileHandle * handle)
protectedvirtual

Implements sead::FileDevice.

◆ doRead_()

bool sead::CafeFSAFileDevice::doRead_ ( u32 * read_size,
FileHandle * handle,
u8 * buf,
u32 size )
protectedvirtual

Implements sead::FileDevice.

◆ doWrite_()

bool sead::CafeFSAFileDevice::doWrite_ ( u32 * write_size,
FileHandle * handle,
const u8 * buf,
u32 size )
protectedvirtual

Implements sead::FileDevice.

◆ doSeek_()

bool sead::CafeFSAFileDevice::doSeek_ ( FileHandle * handle,
s32 offset,
FileDevice::SeekOrigin origin )
protectedvirtual

Implements sead::FileDevice.

◆ doGetCurrentSeekPos_()

bool sead::CafeFSAFileDevice::doGetCurrentSeekPos_ ( u32 * pos,
FileHandle * handle )
protectedvirtual

Implements sead::FileDevice.

◆ doGetFileSize_() [1/2]

bool sead::CafeFSAFileDevice::doGetFileSize_ ( u32 * size,
const SafeString & path )
protectedvirtual

Implements sead::FileDevice.

◆ doGetFileSize_() [2/2]

bool sead::CafeFSAFileDevice::doGetFileSize_ ( u32 * size,
FileHandle * handle )
protectedvirtual

Implements sead::FileDevice.

◆ doIsExistFile_()

bool sead::CafeFSAFileDevice::doIsExistFile_ ( bool * is_exist,
const SafeString & path )
protectedvirtual

Implements sead::FileDevice.

◆ doIsExistDirectory_()

bool sead::CafeFSAFileDevice::doIsExistDirectory_ ( bool * is_exist,
const SafeString & path )
protectedvirtual

Implements sead::FileDevice.

◆ doOpenDirectory_()

FileDevice * sead::CafeFSAFileDevice::doOpenDirectory_ ( DirectoryHandle * handle,
const SafeString & dirname )
protectedvirtual

Implements sead::FileDevice.

◆ doCloseDirectory_()

bool sead::CafeFSAFileDevice::doCloseDirectory_ ( DirectoryHandle * handle)
protectedvirtual

Implements sead::FileDevice.

◆ doReadDirectory_()

bool sead::CafeFSAFileDevice::doReadDirectory_ ( u32 * read_num,
DirectoryHandle * handle,
DirectoryEntry * entry,
u32 num )
protectedvirtual

Implements sead::FileDevice.

◆ doMakeDirectory_()

bool sead::CafeFSAFileDevice::doMakeDirectory_ ( const SafeString & path,
u32 permission )
protectedvirtual

Implements sead::FileDevice.

◆ doGetLastRawError_()

RawErrorCode sead::CafeFSAFileDevice::doGetLastRawError_ ( ) const
protectedvirtual

Implements sead::FileDevice.

◆ doResolvePath_()

void sead::CafeFSAFileDevice::doResolvePath_ ( BufferedSafeString * out,
const SafeString & path ) const
protectedvirtual

Reimplemented from sead::FileDevice.

◆ formatPathForFSA_()

void sead::CafeFSAFileDevice::formatPathForFSA_ ( BufferedSafeString * out,
const SafeString & path ) const
protectedvirtual

◆ getUsableFSClient_()

FSClient * sead::CafeFSAFileDevice::getUsableFSClient_ ( ) const
protected

◆ getFileHandleInner_()

CafeFSAFileDevice::FileHandleInner * sead::CafeFSAFileDevice::getFileHandleInner_ ( FileHandle * handle)
protected

◆ getDirHandleInner_()

CafeFSAFileDevice::DirHandleInner * sead::CafeFSAFileDevice::getDirHandleInner_ ( DirectoryHandle * handle)
protected

Member Data Documentation

◆ mCWDPath

const char* sead::CafeFSAFileDevice::mCWDPath
protected

◆ mLastRawError

FSStatus sead::CafeFSAFileDevice::mLastRawError
protected

◆ mFSOpenRetFlag

FSRetFlag sead::CafeFSAFileDevice::mFSOpenRetFlag
protected

◆ mFSCloseRetFlag

FSRetFlag sead::CafeFSAFileDevice::mFSCloseRetFlag
protected

◆ mFSReadRetFlag

FSRetFlag sead::CafeFSAFileDevice::mFSReadRetFlag
protected

◆ mFSClient

FSClient* sead::CafeFSAFileDevice::mFSClient
protected