diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Fs/ISaveDataInfoReader.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Fs/ISaveDataInfoReader.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Fs/ISaveDataInfoReader.cs b/Ryujinx.HLE/HOS/Services/Fs/ISaveDataInfoReader.cs index a76a7412..943dab98 100644 --- a/Ryujinx.HLE/HOS/Services/Fs/ISaveDataInfoReader.cs +++ b/Ryujinx.HLE/HOS/Services/Fs/ISaveDataInfoReader.cs @@ -1,12 +1,13 @@ -using LibHac; +using System; +using LibHac; namespace Ryujinx.HLE.HOS.Services.Fs { - class ISaveDataInfoReader : IpcService + class ISaveDataInfoReader : IpcService, IDisposable { - private LibHac.FsService.ISaveDataInfoReader _baseReader; + private ReferenceCountedDisposable<LibHac.FsSrv.ISaveDataInfoReader> _baseReader; - public ISaveDataInfoReader(LibHac.FsService.ISaveDataInfoReader baseReader) + public ISaveDataInfoReader(ReferenceCountedDisposable<LibHac.FsSrv.ISaveDataInfoReader> baseReader) { _baseReader = baseReader; } @@ -20,12 +21,17 @@ namespace Ryujinx.HLE.HOS.Services.Fs byte[] infoBuffer = new byte[bufferLen]; - Result result = _baseReader.ReadSaveDataInfo(out long readCount, infoBuffer); + Result result = _baseReader.Target.Read(out long readCount, infoBuffer); context.Memory.Write((ulong)bufferPosition, infoBuffer); context.ResponseData.Write(readCount); return (ResultCode)result.Value; } + + public void Dispose() + { + _baseReader.Dispose(); + } } } |
