diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs b/Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs deleted file mode 100644 index 54c7b800..00000000 --- a/Ryujinx.HLE/HOS/Services/Fs/FileSystemProxy/IStorage.cs +++ /dev/null @@ -1,65 +0,0 @@ -using LibHac; -using LibHac.Common; -using LibHac.Sf; -using Ryujinx.HLE.HOS.Ipc; - -namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy -{ - class IStorage : DisposableIpcService - { - private SharedRef<LibHac.FsSrv.Sf.IStorage> _baseStorage; - - public IStorage(ref SharedRef<LibHac.FsSrv.Sf.IStorage> baseStorage) - { - _baseStorage = SharedRef<LibHac.FsSrv.Sf.IStorage>.CreateMove(ref baseStorage); - } - - [CommandCmif(0)] - // Read(u64 offset, u64 length) -> buffer<u8, 0x46, 0> buffer - public ResultCode Read(ServiceCtx context) - { - ulong offset = context.RequestData.ReadUInt64(); - ulong size = context.RequestData.ReadUInt64(); - - if (context.Request.ReceiveBuff.Count > 0) - { - ulong bufferAddress = context.Request.ReceiveBuff[0].Position; - ulong bufferLen = context.Request.ReceiveBuff[0].Size; - - // Use smaller length to avoid overflows. - if (size > bufferLen) - { - size = bufferLen; - } - - using (var region = context.Memory.GetWritableRegion(bufferAddress, (int)bufferLen, true)) - { - Result result = _baseStorage.Get.Read((long)offset, new OutBuffer(region.Memory.Span), (long)size); - - return (ResultCode)result.Value; - } - } - - return ResultCode.Success; - } - - [CommandCmif(4)] - // GetSize() -> u64 size - public ResultCode GetSize(ServiceCtx context) - { - Result result = _baseStorage.Get.GetSize(out long size); - - context.ResponseData.Write(size); - - return (ResultCode)result.Value; - } - - protected override void Dispose(bool isDisposing) - { - if (isDisposing) - { - _baseStorage.Destroy(); - } - } - } -}
\ No newline at end of file |
