Changes

1,151 bytes added ,  Wednesday at 23:59
no edit summary
Line 61: Line 61:  
== ResumeSaveDataMigrationServer ==
 
== ResumeSaveDataMigrationServer ==
 
Takes an input u32, a TransferMemory handle, returns an [[#IServer_2|IServer]].
 
Takes an input u32, a TransferMemory handle, returns an [[#IServer_2|IServer]].
 +
 +
== Cmd1110 ==
 +
Takes a total of 0x18-bytes of input, a type-0x19 input buffer, a type-0x5 input buffer containing an array of u64s, and a TransferMemory handle. Returns an [[#IServer_2|IServer]].
 +
 +
This is identical to [[#CreateSaveDataMigrationServer|CreateSaveDataMigrationServer]] except the u64-array is passed directly instead of from a single input u64.
    
== CreateSaveDataMigrationClient ==
 
== CreateSaveDataMigrationClient ==
Line 197: Line 202:  
| 3 || [17.0.0+] ListApplicationIds
 
| 3 || [17.0.0+] ListApplicationIds
 
|-
 
|-
| 100 || PrepareAsync
+
| 100 || [[#PrepareAsync|PrepareAsync]]
 
|-
 
|-
 
| 101 || GetConnectionRequirement
 
| 101 || GetConnectionRequirement
Line 219: Line 224:  
| 999 || [8.0.0+] DebugWaitStateSynchronizationFinalizedAsync
 
| 999 || [8.0.0+] DebugWaitStateSynchronizationFinalizedAsync
 
|}
 
|}
 +
 +
=== PrepareAsync ===
 +
No input, returns an [[#IAsyncContext|IAsyncContext]].
 +
 +
Besides various other functionality, the async task also uses functionality similar to [[#GetSaveDataMigrationPolicyInfoAsync|GetSaveDataMigrationPolicyInfoAsync]], throwing an error if needed.
    
== IClient ==
 
== IClient ==
Line 273: Line 283:  
| 999 || DebugSynchronizeStateFinalizedAsync
 
| 999 || DebugSynchronizeStateFinalizedAsync
 
|}
 
|}
 +
 +
= Notes =
 +
Savedata transfer ("nn::migration::savedata::IServer"/"nn::migration::savedata::IClient") requires that accounts are linked to the same network-account. acc:su [[NS_services#IManagerForSystemService|IManagerForSystemService]] GetAccountId is used here. The server stores this Id into state, and also stores it in the [[LDN_services|ldn]] AdvertiseData. The client also verifies the Id in AdvertiseData against the Id from GetAccountId for the account(s) being used, during ScanServersAsync.
    
[[Category:Services]]
 
[[Category:Services]]