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]] |