From 929990b7c8a61d2298c1e0a2a9c4a06f8a3f6399 Mon Sep 17 00:00:00 2001 From: yellows8 Date: Tue, 8 Oct 2019 17:44:53 -0400 Subject: [PATCH] web/friendsLa: Updated for using AccountUid. Renamed webConfigSetUserID to webConfigSetUid, and renamed WebArgType_UserID to WebArgType_Uid. --- nx/include/switch/applets/friends_la.h | 39 +++++++++++++------------- nx/include/switch/applets/web.h | 7 +++-- nx/source/applets/friends_la.c | 27 +++++++++--------- nx/source/applets/web.c | 10 ++++--- 4 files changed, 44 insertions(+), 39 deletions(-) diff --git a/nx/include/switch/applets/friends_la.h b/nx/include/switch/applets/friends_la.h index 398fa353..2b0f0d3d 100644 --- a/nx/include/switch/applets/friends_la.h +++ b/nx/include/switch/applets/friends_la.h @@ -6,6 +6,7 @@ */ #pragma once #include "../types.h" +#include "../services/acc.h" #include "../services/friends.h" /// Arg type values used with \ref FriendsLaArg. @@ -25,7 +26,7 @@ typedef enum { typedef struct { u32 type; ///< \ref FriendsLaArgType u32 pad; ///< Padding. - union { u128 userID; } PACKED; ///< Account userID. + AccountUid userID; ///< \ref AccountUid u64 networkServiceAccountId; ///< NetworkServiceAccountId for the other account. FriendsInAppScreenName first_inAppScreenName; ///< First InAppScreenName. FriendsInAppScreenName second_inAppScreenName; ///< Second InAppScreenName. @@ -33,61 +34,61 @@ typedef struct { /** * @brief Launches the applet with ::FriendsLaArgType_ShowFriendList, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaShowFriendList(u128 userID); +Result friendsLaShowFriendList(AccountUid *userID); /** * @brief Launches the applet with ::FriendsLaArgType_ShowUserDetailInfo, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid * @param[in] networkServiceAccountId NetworkServiceAccountId for the user to show UserDetailInfo for. * @param[in] first_inAppScreenName First \ref FriendsInAppScreenName. * @param[in] second_inAppScreenName Second \ref FriendsInAppScreenName. */ -Result friendsLaShowUserDetailInfo(u128 userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName); +Result friendsLaShowUserDetailInfo(AccountUid *userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName); /** * @brief Launches the applet with ::FriendsLaArgType_StartSendingFriendRequest, the specified input, and playStartupSound=false. On success, this will load the output Result from the output storage. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid * @param[in] networkServiceAccountId NetworkServiceAccountId to send the friend request to. * @param[in] first_inAppScreenName First \ref FriendsInAppScreenName. * @param[in] second_inAppScreenName Second \ref FriendsInAppScreenName. */ -Result friendsLaStartSendingFriendRequest(u128 userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName); +Result friendsLaStartSendingFriendRequest(AccountUid *userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName); /** * @brief Launches the applet with ::FriendsLaArgType_ShowMethodsOfSendingFriendRequest, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaShowMethodsOfSendingFriendRequest(u128 userID); +Result friendsLaShowMethodsOfSendingFriendRequest(AccountUid *userID); /** * @brief Launches the applet with ::FriendsLaArgType_StartFacedFriendRequest, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaStartFacedFriendRequest(u128 userID); +Result friendsLaStartFacedFriendRequest(AccountUid *userID); /** * @brief Launches the applet with ::FriendsLaArgType_ShowReceivedFriendRequestList, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaShowReceivedFriendRequestList(u128 userID); +Result friendsLaShowReceivedFriendRequestList(AccountUid *userID); /** * @brief Launches the applet with ::FriendsLaArgType_ShowBlockedUserList, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaShowBlockedUserList(u128 userID); +Result friendsLaShowBlockedUserList(AccountUid *userID); /** * @brief Launches the applet with ::FriendsLaArgType_ShowMyProfile, the specified input, and playStartupSound=false. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaShowMyProfile(u128 userID); +Result friendsLaShowMyProfile(AccountUid *userID); /** * @brief Same as \ref friendsLaShowMyProfile except with playStartupSound=true. - * @param[in] userID Account userID. + * @param[in] userID \ref AccountUid */ -Result friendsLaShowMyProfileForHomeMenu(u128 userID); +Result friendsLaShowMyProfileForHomeMenu(AccountUid *userID); diff --git a/nx/include/switch/applets/web.h b/nx/include/switch/applets/web.h index 69bf81b8..954e4b79 100644 --- a/nx/include/switch/applets/web.h +++ b/nx/include/switch/applets/web.h @@ -8,6 +8,7 @@ #include "../types.h" #include "../services/applet.h" #include "../services/caps.h" +#include "../services/acc.h" /// This indicates the type of web-applet. typedef enum { @@ -126,7 +127,7 @@ typedef enum { WebArgType_NewsFlag = 0xB, ///< [1.0.0+] u8 bool WebArgType_UnknownC = 0xC, ///< [1.0.0+] u8 WebArgType_UnknownD = 0xD, ///< [1.0.0+] u8 - WebArgType_UserID = 0xE, ///< [1.0.0+] u128 userID, controls which user-specific savedata to mount. + WebArgType_Uid = 0xE, ///< [1.0.0+] \ref AccountUid, controls which user-specific savedata to mount. WebArgType_AlbumEntry0 = 0xF, ///< [1.0.0+] Share-applet caps AlbumEntry, entry 0. WebArgType_ScreenShot = 0x10, ///< [1.0.0+] u8 bool WebArgType_EcClientCert = 0x11, ///< [1.0.0+] u8 bool @@ -344,9 +345,9 @@ Result webConfigSetWhitelist(WebCommonConfig* config, const char* whitelist); * @note Only available with config created by \ref webPageCreate, \ref webLobbyCreate, or with Share-applet. * @note Used automatically by \ref webShareCreate and \ref webLobbyCreate with userID=0. * @param config WebCommonConfig object. - * @param userID Account userID + * @param uid \ref AccountUid */ -Result webConfigSetUserID(WebCommonConfig* config, u128 userID); +Result webConfigSetUid(WebCommonConfig* config, AccountUid *uid); /** * @brief Sets the Share CapsAlbumEntry. diff --git a/nx/source/applets/friends_la.c b/nx/source/applets/friends_la.c index e1b11fdd..8158cef1 100644 --- a/nx/source/applets/friends_la.c +++ b/nx/source/applets/friends_la.c @@ -1,6 +1,7 @@ #include #include "types.h" #include "result.h" +#include "services/acc.h" #include "services/applet.h" #include "applets/libapplet.h" #include "applets/friends_la.h" @@ -25,51 +26,51 @@ static Result _friendsLaShow(const FriendsLaArg *arg, bool playStartupSound) { return rc; } -static Result _friendsLaShowSimple(FriendsLaArgType type, u128 userID, bool playStartupSound) { - FriendsLaArg arg = {.type = type, .userID = userID}; +static Result _friendsLaShowSimple(FriendsLaArgType type, AccountUid *userID, bool playStartupSound) { + FriendsLaArg arg = {.type = type, .userID = *userID}; return _friendsLaShow(&arg, playStartupSound); } -static Result _friendsLaShowAll(FriendsLaArgType type, u128 userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName, bool playStartupSound) { - FriendsLaArg arg = {.type = type, .userID = userID, .networkServiceAccountId = networkServiceAccountId, .first_inAppScreenName = *first_inAppScreenName, .second_inAppScreenName = *second_inAppScreenName}; +static Result _friendsLaShowAll(FriendsLaArgType type, AccountUid *userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName, bool playStartupSound) { + FriendsLaArg arg = {.type = type, .userID = *userID, .networkServiceAccountId = networkServiceAccountId, .first_inAppScreenName = *first_inAppScreenName, .second_inAppScreenName = *second_inAppScreenName}; return _friendsLaShow(&arg, playStartupSound); } -Result friendsLaShowFriendList(u128 userID) { +Result friendsLaShowFriendList(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_ShowFriendList, userID, false); } -Result friendsLaShowUserDetailInfo(u128 userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName) { +Result friendsLaShowUserDetailInfo(AccountUid *userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName) { return _friendsLaShowAll(FriendsLaArgType_ShowUserDetailInfo, userID, networkServiceAccountId, first_inAppScreenName, second_inAppScreenName, false); } -Result friendsLaStartSendingFriendRequest(u128 userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName) { +Result friendsLaStartSendingFriendRequest(AccountUid *userID, u64 networkServiceAccountId, const FriendsInAppScreenName *first_inAppScreenName, const FriendsInAppScreenName *second_inAppScreenName) { return _friendsLaShowAll(FriendsLaArgType_StartSendingFriendRequest, userID, networkServiceAccountId, first_inAppScreenName, second_inAppScreenName, false); } -Result friendsLaShowMethodsOfSendingFriendRequest(u128 userID) { +Result friendsLaShowMethodsOfSendingFriendRequest(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_ShowMethodsOfSendingFriendRequest, userID, false); } -Result friendsLaStartFacedFriendRequest(u128 userID) { +Result friendsLaStartFacedFriendRequest(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_StartFacedFriendRequest, userID, false); } -Result friendsLaShowReceivedFriendRequestList(u128 userID) { +Result friendsLaShowReceivedFriendRequestList(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_ShowReceivedFriendRequestList, userID, false); } -Result friendsLaShowBlockedUserList(u128 userID) { +Result friendsLaShowBlockedUserList(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_ShowBlockedUserList, userID, false); } -Result friendsLaShowMyProfile(u128 userID) { +Result friendsLaShowMyProfile(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_ShowMyProfile, userID, false); } -Result friendsLaShowMyProfileForHomeMenu(u128 userID) { +Result friendsLaShowMyProfileForHomeMenu(AccountUid *userID) { return _friendsLaShowSimple(FriendsLaArgType_ShowMyProfile, userID, true); } diff --git a/nx/source/applets/web.c b/nx/source/applets/web.c index 50878008..e7126892 100644 --- a/nx/source/applets/web.c +++ b/nx/source/applets/web.c @@ -350,11 +350,12 @@ Result webOfflineCreate(WebCommonConfig* config, WebDocumentKind docKind, u64 ti Result webShareCreate(WebCommonConfig* config, WebShareStartPage page) { Result rc=0; + AccountUid uid={0}; _webArgInitialize(config, AppletId_loginShare, WebShimKind_Share); rc = webConfigSetLeftStickMode(config, WebLeftStickMode_Cursor); - if (R_SUCCEEDED(rc)) rc = webConfigSetUserID(config, 0); + if (R_SUCCEEDED(rc)) rc = webConfigSetUid(config, &uid); if (R_SUCCEEDED(rc)) rc = webConfigSetDisplayUrlKind(config, true); if (R_SUCCEEDED(rc)) rc = _webConfigSetU8(config, WebArgType_Unknown14, 1); @@ -368,6 +369,7 @@ Result webShareCreate(WebCommonConfig* config, WebShareStartPage page) { Result webLobbyCreate(WebCommonConfig* config) { Result rc=0; + AccountUid uid={0}; if (hosversionBefore(2,0,0)) return MAKERESULT(Module_Libnx, LibnxError_IncompatSysVer); _webArgInitialize(config, AppletId_loginShare, WebShimKind_Lobby); @@ -375,7 +377,7 @@ Result webLobbyCreate(WebCommonConfig* config) { rc = webConfigSetLeftStickMode(config, WebLeftStickMode_Cursor); if (R_SUCCEEDED(rc) && config->version >= 0x30000) rc = webConfigSetPointer(config, false); // Added to user-process init with [3.0.0+]. - if (R_SUCCEEDED(rc)) rc = webConfigSetUserID(config, 0); + if (R_SUCCEEDED(rc)) rc = webConfigSetUid(config, &uid); if (R_SUCCEEDED(rc)) rc = _webConfigSetU8(config, WebArgType_Unknown14, 1); if (R_SUCCEEDED(rc)) rc = _webConfigSetU8(config, WebArgType_Unknown15, 1); @@ -402,10 +404,10 @@ Result webConfigSetWhitelist(WebCommonConfig* config, const char* whitelist) { return _webConfigSetString(config, WebArgType_Whitelist, whitelist, 0x1000); } -Result webConfigSetUserID(WebCommonConfig* config, u128 userID) { +Result webConfigSetUid(WebCommonConfig* config, AccountUid *uid) { WebShimKind shim = _webGetShimKind(config); if (shim != WebShimKind_Share && shim != WebShimKind_Web && shim != WebShimKind_Lobby) return MAKERESULT(Module_Libnx, LibnxError_NotInitialized); - return _webTLVSet(config, WebArgType_UserID, &userID, sizeof(userID)); + return _webTLVSet(config, WebArgType_Uid, uid, sizeof(*uid)); } static Result _webConfigSetAlbumEntryTLV(WebCommonConfig* config, WebArgType type, const CapsAlbumEntry *entry) {