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
This commit is contained in:
emmauss 2018-11-18 21:37:41 +02:00 committed by gdkchan
parent e603b7afbc
commit fe8fbb6fb9
38 changed files with 2179 additions and 173 deletions

View file

@ -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);
}
}