Update save data transfer interfaces for FS 17

This commit is contained in:
Alex Barney 2023-11-15 18:10:36 -07:00
parent a65b1b8b31
commit e49523eed6
3 changed files with 12 additions and 5 deletions

View file

@ -165,12 +165,18 @@ namespace LibHac.Fs
} }
public Result OpenSaveDataImporterImpl(ref UniqueRef<ISaveDataDivisionImporter> outImporter, public Result OpenSaveDataImporterImpl(ref UniqueRef<ISaveDataDivisionImporter> outImporter,
in InitialDataVersion2 initialData, in UserId userId, SaveDataSpaceId spaceId, bool useSwap) in InitialDataVersion2 initialData, ulong staticSaveDataId, in UserId userId, ulong ownerId,
SaveDataSpaceId spaceId, bool useSwap)
{ {
using var importerInterface = new SharedRef<FsSrv.Sf.ISaveDataDivisionImporter>(); using var importerInterface = new SharedRef<FsSrv.Sf.ISaveDataDivisionImporter>();
SaveDataCreationInfo2 creationInfo = default;
creationInfo.Attribute.StaticSaveDataId = staticSaveDataId;
creationInfo.Attribute.UserId = userId;
creationInfo.OwnerId = ownerId;
Result res = _baseInterface.Get.OpenSaveDataImporter(ref importerInterface.Ref, Result res = _baseInterface.Get.OpenSaveDataImporter(ref importerInterface.Ref,
InBuffer.FromStruct(in initialData), in userId, spaceId, useSwap); InBuffer.FromStruct(in initialData), in creationInfo, spaceId, useSwap);
_fsClient.Impl.LogResultErrorMessage(res); _fsClient.Impl.LogResultErrorMessage(res);
if (res.IsFailure()) return res.Miss(); if (res.IsFailure()) return res.Miss();
@ -182,7 +188,8 @@ namespace LibHac.Fs
public Result OpenSaveDataImporter(ref UniqueRef<ISaveDataDivisionImporter> outImporter, public Result OpenSaveDataImporter(ref UniqueRef<ISaveDataDivisionImporter> outImporter,
in InitialDataVersion2 initialData, SaveDataSpaceId spaceId, bool useSwap) in InitialDataVersion2 initialData, SaveDataSpaceId spaceId, bool useSwap)
{ {
return OpenSaveDataImporterImpl(ref outImporter, in initialData, InvalidUserId, spaceId, useSwap); return OpenSaveDataImporterImpl(ref outImporter, in initialData, InvalidSystemSaveDataId, InvalidUserId,
ownerId: 0, spaceId, useSwap);
} }
public Result OpenSaveDataImporterByContext(ref UniqueRef<ISaveDataDivisionImporter> outImporter, public Result OpenSaveDataImporterByContext(ref UniqueRef<ISaveDataDivisionImporter> outImporter,

View file

@ -226,7 +226,7 @@ public class SaveDataTransferManagerVersion2 : ISaveDataTransferManagerWithDivis
} }
public Result OpenSaveDataImporter(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, public Result OpenSaveDataImporter(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData,
in UserId userId, SaveDataSpaceId spaceId, bool useSwap) in SaveDataCreationInfo2 creationInfo, SaveDataSpaceId spaceId, bool useSwap)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

View file

@ -15,7 +15,7 @@ public interface ISaveDataTransferManagerWithDivision : IDisposable
public Result OpenSaveDataImporterDeprecated(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, in UserId userId, SaveDataSpaceId spaceId); public Result OpenSaveDataImporterDeprecated(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, in UserId userId, SaveDataSpaceId spaceId);
public Result OpenSaveDataImporterForDiffImport(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, SaveDataSpaceId spaceId, ulong saveDataId); public Result OpenSaveDataImporterForDiffImport(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, SaveDataSpaceId spaceId, ulong saveDataId);
public Result OpenSaveDataImporterForDuplicateDiffImport(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, SaveDataSpaceId spaceId, ulong saveDataId); public Result OpenSaveDataImporterForDuplicateDiffImport(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, SaveDataSpaceId spaceId, ulong saveDataId);
public Result OpenSaveDataImporter(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, in UserId userId, SaveDataSpaceId spaceId, bool useSwap); public Result OpenSaveDataImporter(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer initialData, in SaveDataCreationInfo2 creationInfo, SaveDataSpaceId spaceId, bool useSwap);
public Result OpenSaveDataImporterByContext(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer importContext); public Result OpenSaveDataImporterByContext(ref SharedRef<ISaveDataDivisionImporter> outImporter, InBuffer importContext);
public Result CancelSuspendingImport(Ncm.ApplicationId applicationId, in UserId userId); public Result CancelSuspendingImport(Ncm.ApplicationId applicationId, in UserId userId);
public Result CancelSuspendingImportByAttribute(in SaveDataAttribute attribute); public Result CancelSuspendingImportByAttribute(in SaveDataAttribute attribute);