IOS: Introduce a new FileSystem interface

Add a new FileSystem class that can be used to perform operations
on the emulated Wii filesystem.

This will allow separating the IPC code (reading from and writing to
memory to handle IOS FS commands) and the actual filesystem code
in a much better way.

This also paves the way for implementing another filesystem backend
in the future -- NAND images for more complete emulation, including
filesystem metadata like permissions or file orders, which some games
and homebrew actually care about -- without needing to make any more
changes to the other parts of the codebase, in addition to making
filesystem behaviour tests easier to write.
This commit is contained in:
Léo Lam
2018-03-03 00:56:15 +01:00
parent 1bdfedf3c6
commit f1dbb8952c
3 changed files with 177 additions and 0 deletions

View File

@ -446,6 +446,7 @@
<ClInclude Include="IOS\ES\ES.h" />
<ClInclude Include="IOS\ES\Formats.h" />
<ClInclude Include="IOS\FS\FileIO.h" />
<ClInclude Include="IOS\FS\FileSystem.h" />
<ClInclude Include="IOS\FS\FS.h" />
<ClInclude Include="IOS\Network\ICMPLin.h" />
<ClInclude Include="IOS\Network\ICMP.h" />