aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/FileSystem/IFileSystemProvider.cs
diff options
context:
space:
mode:
authoremmauss <emmausssss@gmail.com>2018-11-18 21:37:41 +0200
committergdkchan <gab.dark.100@gmail.com>2018-11-18 17:37:41 -0200
commitfe8fbb6fb9b85a528ddfa4848ec8e35fd9a5e9a5 (patch)
tree7cd33a50d1ebc98e467df93aeb86315679110778 /Ryujinx.HLE/FileSystem/IFileSystemProvider.cs
parente603b7afbcdff0fc732304872f5a65d410c601f9 (diff)
Implement ContentManager and related services (#438)
* Implement contentmanager and related services * small changes * read system firmware version from nand * add pfs support, write directoryentry info for romfs files * add file check in fsp-srv:8 * add support for open fs of internal files * fix filename when accessing pfs * use switch style paths for contentpath * close nca after verifying type * removed publishing profiles, align directory entry * fix style * lots of style fixes * yasf(yet another style fix) * yasf(yet another style fix) plus symbols * enforce path check on every fs access * change enum type to default * fix typo
Diffstat (limited to 'Ryujinx.HLE/FileSystem/IFileSystemProvider.cs')
-rw-r--r--Ryujinx.HLE/FileSystem/IFileSystemProvider.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/Ryujinx.HLE/FileSystem/IFileSystemProvider.cs b/Ryujinx.HLE/FileSystem/IFileSystemProvider.cs
new file mode 100644
index 00000000..88a630a0
--- /dev/null
+++ b/Ryujinx.HLE/FileSystem/IFileSystemProvider.cs
@@ -0,0 +1,41 @@
+using Ryujinx.HLE.HOS;
+using Ryujinx.HLE.HOS.Services.FspSrv;
+using System;
+
+namespace Ryujinx.HLE.FileSystem
+{
+ interface IFileSystemProvider
+ {
+ long CreateFile(string Name, long Size);
+
+ long CreateDirectory(string Name);
+
+ long RenameFile(string OldName, string NewName);
+
+ long RenameDirectory(string OldName, string NewName);
+
+ DirectoryEntry[] GetEntries(string Path);
+
+ DirectoryEntry[] GetDirectories(string Path);
+
+ DirectoryEntry[] GetFiles(string Path);
+
+ long DeleteFile(string Name);
+
+ long DeleteDirectory(string Name, bool Recursive);
+
+ bool FileExists(string Name);
+
+ bool DirectoryExists(string Name);
+
+ long OpenFile(string Name, out IFile FileInterface);
+
+ long OpenDirectory(string Name, int FilterFlags, out IDirectory DirectoryInterface);
+
+ string GetFullPath(string Name);
+
+ long GetFreeSpace(ServiceCtx Context);
+
+ long GetTotalSpace(ServiceCtx Context);
+ }
+}