GameCube FileSystemDriver: memory card slots, GC Loader, and DVD, plus DEVICE_SMB (broadband adapter). More...
#include <GameCubeFileSystemDriver.h>
Public Member Functions | |
| void | init () override |
| Initializes the driver and auto-mounts devices flagged autoMountAtStartup. | |
| const int * | getValidLoadDevices (int &outCount) const override |
| Devices (Device enum values, in priority order) that are offered when choosing where to load from on this platform. | |
| const int * | getValidSaveDevices (int &outCount) const override |
| Devices (Device enum values, in priority order) that are offered when choosing where to save to on this platform. | |
Public Member Functions inherited from OgcFileSystemDriver | |
| void | shutdown () override |
| Unmounts every device and releases the driver's resources. | |
| int | enumerateStorageDevices (StorageDevice outDevices[MAX_STORAGE_DEVICES]) override |
| Fills outDevices (size MAX_STORAGE_DEVICES) and returns the device count. | |
| MountResult | mountStorageDevice (int deviceId) override |
| Attempts to mount deviceId exactly once. | |
| const char * | mountResultMessage (int deviceId, MountResult result) override |
| A short, user-displayable reason for a non-Success MountResult (eg. | |
| void | invalidateStorageDevice (int deviceId) override |
| Marks deviceId as needing a fresh mount next time mountStorageDevice() is called, eg. | |
| void | pollStorageDevices (int removedIds[MAX_STORAGE_DEVICES], int &outRemovedCount, bool &deviceListChanged) override |
| Called once per device-checking thread cycle. | |
| bool | hasRemovableStorageDevices () const override |
| Whether the device-checking thread should run on this platform. | |
| bool | isDevicePresent (int deviceId) const override |
| Lightweight, cached hardware-presence check for a single device - does NOT mount and does no invasive I/O. | |
| const char * | getDevicePrefix (int device) const override |
| The devoptab prefix this device would use (eg. | |
| const char * | getMountPath (int device) const override |
| devoptab-style mount path for device (eg. | |
| SmbDriver * | getSmb () override |
Public Member Functions inherited from FileSystemDriver | |
| template<size_t N> | |
| void | getPath (char(&out)[N], int device, const char *suffix) const |
| Writes getMountPath(device) + suffix into out (bounds-checked to sizeof(out) via the array-reference template parameter N). | |
| template<size_t N> | |
| void | getPath (char(&out)[N], int device, const char *folder, const char *file) const |
| Joins a folder and a filename with '/' after the mount path. | |
| void | getPath (char *out, size_t outSize, int device, const char *suffix) const |
Explicit-size equivalents of the two templates above, for call sites where the destination buffer arrives as a char * function parameter rather than a fixed array. | |
| void | getPath (char *out, size_t outSize, int device, const char *folder, const char *file) const |
| Joins folder and file with '/' after the mount path, as in the template above. | |
Additional Inherited Members | |
Protected Member Functions inherited from OgcFileSystemDriver | |
| void | initFatSlotsAndAutoMount () |
| Runs the shared boot-time pass: probe every pollable fatSlots[] entry once for isPresentCache, then auto-mount whatever enumerateStorageDevices() marks autoMountAtStartup. | |
| virtual void | shutdownPlatform () |
| Platform-specific extra teardown beyond the shared per-slot fatUnmount() pass (eg. | |
| virtual bool | pollPlatformExtra () |
| Platform-specific extra polling that must run before the shared per-slot presence check (eg. | |
| virtual void | prepareMount (int deviceId) |
| Platform-specific work that must run immediately before a user-initiated mount attempt on deviceId, so the attempt sees current hardware topology instead of whatever the last poll cycle happened to observe. | |
| MountResult | mountFAT (int deviceId) |
| Mounts the FAT filesystem on a slot with fatMountSimple(), unmounting first if unmountRequired is set. | |
| MountResult | mountDVD () |
| Mounts the DVD as ISO9660 if a disc is inserted. | |
| MountResult | attemptFatMount (int deviceId) |
| Single mountFAT() attempt that also records the outcome in mountFailed. | |
| const OgcFatSlotDescriptor * | findFatSlot (int deviceId) const |
Protected Attributes inherited from OgcFileSystemDriver | |
| const OgcFatSlotDescriptor * | fatSlots = nullptr |
| Table of FAT slots this platform supports; set by the concrete driver. | |
| int | fatSlotCount = 0 |
| Number of entries in fatSlots. | |
| DISC_INTERFACE * | dvdDisc = nullptr |
| Disc interface used to mount the DVD drive, or nullptr if the platform has none. | |
| const char * | unsupportedFormatMessage = "Unsupported format." |
| Text returned by mountResultMessage() when a present device fails to mount. | |
| bool | isMounted [MAX_STORAGE_DEVICES] = { false } |
| A filesystem is currently mounted for this device. | |
| bool | unmountRequired [MAX_STORAGE_DEVICES] = { false } |
| A stale mount must be torn down before the next mount attempt. | |
| bool | isPresentCache [MAX_STORAGE_DEVICES] = { false } |
| raw hardware insertion only - see isDevicePresent()'s comment for why this is no longer what it returns | |
| bool | mountFailed [MAX_STORAGE_DEVICES] = { false } |
| set by a real MountFailed; cleared on removal/reinsertion - see attemptFatMount() | |
| bool | labelFetched [MAX_STORAGE_DEVICES] = { false } |
| fetched since the last mount/removal - see mountFAT()/invalidateStorageDevice() | |
| char | volumeLabel [MAX_STORAGE_DEVICES][16] = { { 0 } } |
| Volume label cached for each device. | |
| OgcSmbDriver | smbDriver |
| The network-share driver returned by getSmb() | |
GameCube FileSystemDriver: memory card slots, GC Loader, and DVD, plus DEVICE_SMB (broadband adapter).
Enumeration/mount/poll logic itself lives in the shared OgcFileSystemDriver base.
Definition at line 13 of file GameCubeFileSystemDriver.h.
|
overridevirtual |
Devices (Device enum values, in priority order) that are offered when choosing where to load from on this platform.
| outCount | receives the number of entries in the returned array |
Implements FileSystemDriver.
Definition at line 46 of file GameCubeFileSystemDriver.cpp.
|
overridevirtual |
Devices (Device enum values, in priority order) that are offered when choosing where to save to on this platform.
Differs from the load list in that read-only devices such as DVD are left out.
| outCount | receives the number of entries in the returned array |
Implements FileSystemDriver.
Definition at line 53 of file GameCubeFileSystemDriver.cpp.
|
overridevirtual |
Initializes the driver and auto-mounts devices flagged autoMountAtStartup.
Implements FileSystemDriver.
Definition at line 32 of file GameCubeFileSystemDriver.cpp.