Changes

853 bytes added ,  18:03, 3 December 2019
no edit summary
Line 1: Line 1:  
This is the applet presented when launching a game that allows the user to select a user.
 
This is the applet presented when launching a game that allows the user to select a user.
   −
See [[AM_services#Library_Applets]]. The profile selector expects a two [[AM_services#IStorage|IStorage]] inputs and a single [[AM_services#IStorage|IStorage]] output.
+
See [[AM_services#Library_Applets]].
    
== Library Applet Versions ==
 
== Library Applet Versions ==
Line 127: Line 127:     
== UiReturnArg ==  
 
== UiReturnArg ==  
This is "nn::account::UiReturnArg".
+
This is "nn::account::UiReturnArg". This is the struct for the output storage.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 133: Line 133:  
! Offset || Size || Description
 
! Offset || Size || Description
 
|-
 
|-
| 0x0 || 0x8 || Result
+
| 0x0 || 0x8 || Result. Returned directly as the Result when launching is successful.
 
|-
 
|-
| 0x8 || 0x10 || Uid of selected user.
+
| 0x8 || 0x10 || Uid of selected user, only used with [[#UiMode|UserSelector]] when no error is thrown (see above Result).
 
|}
 
|}
   Line 153: Line 153:     
== UserSelectionPurpose ==  
 
== UserSelectionPurpose ==  
This is "nn::account::UserSelectionPurpose".
+
This is "nn::account::UserSelectionPurpose". This controls the UI message text to display with [[#UiMode|UserSelector]]. Invalid values are handled as value 0.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Value || Description
+
! Value || Description || UI message text
 
|-
 
|-
| 0 || General
+
| 0 || General || "Select a user."
 
|-
 
|-
| 1 || GameCardRegistration
+
| 1 || [2.0.0+] GameCardRegistration || "Who will receive the points?"
 
|-
 
|-
| 2 || EShopLaunch
+
| 2 || [2.0.0+] EShopLaunch || "Who is using Nintendo eShop?"
 
|-
 
|-
| 3 || EShopItemShow
+
| 3 || [2.0.0+] EShopItemShow || "Who is making this purchase?"
 
|-
 
|-
| 4 || PicturePost
+
| 4 || [2.0.0+] PicturePost || "Who is posting?"
 
|-
 
|-
| 5 || NintendoAccountLinkage
+
| 5 || [2.0.0+] NintendoAccountLinkage || "Select a user to link to a Nintendo Account."
 
|-
 
|-
| 6 || SettingsUpdate
+
| 6 || [2.0.0+] SettingsUpdate || "Change settings for which user?"
 
|-
 
|-
| 7 || SaveDataDeletion
+
| 7 || [2.0.0+] SaveDataDeletion || "Format data for which user?"
 
|-
 
|-
| 8 || UserMigration
+
| 8 || [4.0.0+] UserMigration || "Which user will be transferred to another console?"
 
|-
 
|-
| 9 || SaveDataTransfer(?)
+
| 9 || [8.0.0+] SaveDataTransfer(?) || "Send save data for which user?"
 
|}
 
|}
    
== Usage ==  
 
== Usage ==  
User-processes should push a common arguments struct and the typical UserSelectionConfig struct as well. After pushing in the data and calling start, user-processes should wait upon the PopOutDataEvent and then pop a single IStorage to obtain the result structure described above.
+
User-processes should push a common arguments struct and [[#UiSettings]]. Official sw can optionally push an additional storage from [[Applet_Manager_services#CreateTransferMemoryStorage|CreateTransferMemoryStorage]] with flag=0 using an input buffer when that input buffer is not NULL, however sdknso itself doesn't use this besides a wrapper func which sdknso itself doesn't call. After launching the applet and waiting for it to finish, on success the output storage [[#UiReturnArg]] should be popped.
    
[[Category:Library Applets]]
 
[[Category:Library Applets]]