using LibHac; using Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy; namespace Ryujinx.HLE.HOS.Services.Fs { class IMultiCommitManager : DisposableIpcService // 6.0.0+ { private ReferenceCountedDisposable _baseCommitManager; public IMultiCommitManager(ReferenceCountedDisposable baseCommitManager) { _baseCommitManager = baseCommitManager; } [CommandHipc(1)] // 6.0.0+ // Add(object) public ResultCode Add(ServiceCtx context) { IFileSystem fileSystem = GetObject(context, 0); Result result = _baseCommitManager.Target.Add(fileSystem.GetBaseFileSystem()); return (ResultCode)result.Value; } [CommandHipc(2)] // 6.0.0+ // Commit() public ResultCode Commit(ServiceCtx context) { Result result = _baseCommitManager.Target.Commit(); return (ResultCode)result.Value; } protected override void Dispose(bool isDisposing) { if (isDisposing) { _baseCommitManager?.Dispose(); } } } }