1#ifndef SEAD_FILEDEVICEMGR_H_
2#define SEAD_FILEDEVICEMGR_H_
8#include <basis/seadAssert.h>
9#include <container/seadTList.h>
10#include <filedevice/seadFileDevice.h>
11#include <filedevice/seadMainFileDevice.h>
12#include <heap/seadDisposer.h>
13#include <prim/seadSafeString.h>
33 FileDevice* device = tryOpen(handle, filename, flag, div_num);
34 SEAD_ASSERT_MSG(device !=
nullptr,
"open failed. [%s]", filename.cstr());
45 SEAD_ASSERT_MSG(device !=
nullptr,
"open directory failed. [%s]", dirname.cstr());
53 u8* ret = tryLoad(arg);
116 #error "Unknown platform"
120static_assert(
sizeof(
FileDeviceMgr) == 0x182C,
"sead::FileDeviceMgr size mismatch");
Definition seadFileDevice.h:421
Definition seadFileDeviceMgr.h:18
FileDevice * setDefaultFileDevice(FileDevice *device)
Definition seadFileDeviceMgr.h:65
FileDevice * tryOpen(FileHandle *handle, const SafeString &filename, FileDevice::FileOpenFlag flag, u32 div_num)
Definition seadFileDeviceMgr.cpp:192
virtual void traceFilePath(const SafeString &path) const
Definition seadFileDeviceMgr.cpp:78
MainFileDevice * getMainFileDevice() const
Definition seadFileDeviceMgr.h:77
u8 * load(FileDevice::LoadArg &arg)
Definition seadFileDeviceMgr.h:51
virtual void traceDirectoryPath(const SafeString &path) const
Definition seadFileDeviceMgr.cpp:92
TList< FileDevice * > DeviceList
Definition seadFileDeviceMgr.h:25
FileDevice * getDefaultFileDevice() const
Definition seadFileDeviceMgr.h:72
FileDevice * mDefaultFileDevice
Definition seadFileDeviceMgr.h:91
virtual void resolveFilePath(BufferedSafeString *out, const SafeString &path) const
Definition seadFileDeviceMgr.cpp:106
u8 * tryLoad(FileDevice::LoadArg &arg)
Definition seadFileDeviceMgr.cpp:203
DeviceList mDeviceList
Definition seadFileDeviceMgr.h:90
void unmount(FileDevice *device)
Definition seadFileDeviceMgr.cpp:142
void unload(u8 *data)
Definition seadFileDeviceMgr.cpp:225
FileDevice * findDevice(const SafeString &drive) const
Definition seadFileDeviceMgr.cpp:183
void mount(FileDevice *device, const SafeString &drive_name=SafeString::cEmptyString)
Definition seadFileDeviceMgr.cpp:134
FileDevice * findDeviceFromPath(const SafeString &path, BufferedSafeString *no_drive_path) const
Definition seadFileDeviceMgr.cpp:152
FileDevice * open(FileHandle *handle, const SafeString &filename, FileDevice::FileOpenFlag flag, u32 div_num)
Definition seadFileDeviceMgr.h:31
static const s32 cNoDrivePathBufferSize
Definition seadFileDeviceMgr.h:22
FileDevice * tryOpenDirectory(DirectoryHandle *handle, const SafeString &dirname)
FileDeviceMgr()
Definition seadFileDeviceMgr.cpp:19
void unmount(const SafeString &drive)
virtual void resolveDirectoryPath(BufferedSafeString *out, const SafeString &path) const
Definition seadFileDeviceMgr.cpp:120
~FileDeviceMgr()
Definition seadFileDeviceMgr.cpp:60
FileDevice * openDirectory(DirectoryHandle *handle, const SafeString &dirname)
Definition seadFileDeviceMgr.h:42
MainFileDevice * mMainFileDevice
Definition seadFileDeviceMgr.h:92
Definition seadFileDevice.h:56
FileOpenFlag
Definition seadFileDevice.h:61
Definition seadFileDevice.h:376
Definition seadMainFileDevice.h:11
Definition seadTList.h:49
Definition seadAssert.h:44
SafeStringBase< char > SafeString
Definition seadSafeString.h:409
BufferedSafeStringBase< char > BufferedSafeString
Definition seadSafeString.h:411
#define SEAD_ASSERT_MSG(condition, format,...)
Definition seadAssert.h:33
#define SEAD_SINGLETON_DISPOSER(CLASS)
Definition seadDisposer.h:29
Definition seadFileDevice.h:83