4#include "CoreMinimal.h"
5#include "UObject/NoExportTypes.h"
6#include "PPF_Platform.h"
7#include "OnlineSubsystemPicoNames.h"
8#include "OnlineSubsystemPico.h"
10#include "Pico_User.generated.h"
14DECLARE_LOG_CATEGORY_EXTERN(PicoUser, Log, All);
21DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoggedInUserFriendsAndRooms,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserAndRoomArray*, UserAndRoomArray);
22DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetNextUserAndRoomArrayPage,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserAndRoomArray*, UserAndRoomArray);
23DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoggedInUserFriends,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserArray*, UserArray);
24DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetNextUserPage,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserArray*, UserArray);
25DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoginUser,
bool, bIsError,
const FString&, ErrorMessage,
UPico_User*, User);
26DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetUserInfo,
bool, bIsError,
const FString&, ErrorMessage,
UPico_User*, User);
27DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetPermissionResult,
bool, bIsError,
const FString&, ErrorMessage,
UPico_PermissionResult*, PermissionResult);
28DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAccessTokenResult,
bool, bIsError,
const FString&, ErrorMessage,
const FString&, AccessToken);
29DECLARE_DYNAMIC_DELEGATE_FourParams(FLaunchFriendRequestResult,
bool, bIsError,
const FString&, ErrorMessage,
bool, bDidCancel,
bool, bDidSendRequest);
30DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetUserRelationResult,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserRelationResult*, UserRelationResult);
31DECLARE_DYNAMIC_DELEGATE_FourParams(FEntitlementCheckResult,
bool, bIsError,
int, ErrorCode,
const FString&, ErrorMessage,
UPico_EntitlementCheckResult*, EntitlementCheck);
32DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetIDToken,
bool, bIsError,
const FString&, ErrorMessage,
const FString&, IDToken);
49 FOnlineSubsystemPico& PicoSubsystem;
55 FGetLoginUser GetLoginUserDelegate;
56 FGetLoggedInUserFriendsAndRooms GetLoggedInUserFriendsAndRoomsDelegate;
57 FGetNextUserAndRoomArrayPage GetNextUserAndRoomArrayPageDelegate;
58 FGetLoggedInUserFriends GetLoggedInUserFriendsDelegate;
59 FGetNextUserPage GetNextUserFriendsPageDelegate;
60 FGetUserInfo GetUserInfoDelegate;
61 FGetPermissionResult GetAuthorizePermissionsDelegate;
62 FGetPermissionResult RequestUserPermissionsDelegate;
63 FLaunchFriendRequestResult LaunchFriendRequestDelegate;
64 FGetAccessTokenResult GetAccesstokenDelegate;
65 FGetUserRelationResult GetUserRelationDelegate;
66 FEntitlementCheckResult EntitlementCheckResultDelegate;
67 FGetIDToken GetIDTokenDelegate;
89 bool GetUserInfo(
const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
211 bool GetRelations(TArray<FString> UserIDs, FGetUserRelationResult OnGetUserRelationResultCallback);
227 bool EntitlementCheck(
bool bKillApp, FEntitlementCheckResult OnEntitlementCheckResultCallback);
229 bool GetIDToken(FGetIDToken OnGetIDTokenResultCallback);
264 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|User")
265 static
void PicoGetLoggedInUserAndRoom(UObject* WorldContextObject, FGetLoggedInUserFriendsAndRooms InGetLoggedInuserFriendsAndRoomsCallback);
278 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
279 static
void PicoGetNextUserAndRoomArrayPage(UObject* WorldContextObject,
UPico_UserAndRoomArray* InUserAndRoomArray, FGetNextUserAndRoomArrayPage InGetNextUserAndRoomArrayPageCallback);
292 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
293 static
void PicoGetUserFriends(UObject* WorldContextObject, FGetLoggedInUserFriends InGetLoggedInUserFriendsDelegate);
306 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
307 static
void PicoGetNextUserPage(UObject* WorldContextObject,
UPico_UserArray* InUserArray, FGetNextUserPage InGetNextUserPageDelegate);
319 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
320 static
bool GetLoginUser(UObject* WorldContextObject, FGetLoginUser InGetLoginUserDelegate);
333 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
334 static
bool GetPicoUserInfo(UObject* WorldContextObject, const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
348 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
349 static
bool GetAuthorizePermissions(UObject* WorldContextObject, FGetPermissionResult OnGetPermissionResultCallback);
370 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
371 static
bool RequestUserPermissions(UObject* WorldContextObject, TArray<FString> Permissions, FGetPermissionResult OnGetPermissionResultCallback);
386 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
387 static
bool LaunchFriendRequestFlow(UObject* WorldContextObject, const FString UserId, FLaunchFriendRequestResult OnLaunchFriendRequestResultCallback);
401 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
402 static
bool GetAccessToken(UObject* WorldContextObject, FGetAccessTokenResult OnGetAccessTokenResultCallback);
420 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
421 static
bool GetRelations(UObject* WorldContextObject, TArray<FString> UserIDs, FGetUserRelationResult OnGetUserRelationResultCallback);
438 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
439 static
bool EntitlementCheck(UObject* WorldContextObject,
bool bKillApp, FEntitlementCheckResult OnEntitlementCheckResultCallback);
441 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
442 static
bool GetIDToken(UObject* WorldContextObject, FGetIDToken OnGetIDTokenResultCallback);
454 void InitParams(ppfUser* ppfUserHandle);
457 FString DisplayName = FString();
458 FString ImageUrl = FString();
459 FString ID = FString();
460 FString InviteToken = FString();
461 FString SmallImageUrl = FString();
462 FString PresencePackage = FString();
465 FString Presence = FString();
466 FString PresenceDeeplinkMessage = FString();
467 FString PresenceDestinationApiName = FString();
468 FString PresenceLobbySessionId = FString();
469 FString PresenceMatchSessionId = FString();
470 FString PresenceExtra = FString();
471 FString StoreRegion = FString();
476 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
477 FString GetDisplayName();
480 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
481 FString GetImageURL();
484 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
488 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
489 FString GetInviteToken();
492 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
493 FString GetSmallImageUrl();
496 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
497 FString GetPresencePackage();
500 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
504 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
508 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
509 FString GetPresence();
512 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
513 FString GetPresenceDeeplinkMessage();
516 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
517 FString GetPresenceDestinationApiName();
520 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
521 FString GetPresenceLobbySessionId();
524 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
525 FString GetPresenceMatchSessionId();
528 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
529 FString GetPresenceExtra();
532 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
533 FString GetStoreRegion();
544 void InitParams(ppfUserArray* InppfUserArrayHandle);
548 TArray<UPico_User*> UserArray;
549 FString NextPageParam;
556 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User Array")
559 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
560 FString GetNextPageParam();
563 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
567 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
585 void InitParams(ppfUserAndRoom* InppfUserAndRoomHandle);
588 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User And Room")
592 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room")
605 TArray<UPico_UserAndRoom*> UserAndRoomArray;
606 FString NextPageParam = FString();
610 void InitParams(ppfUserAndRoomArray* InppfUserAndRoomArrayHandle);
613 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User And Room Array")
617 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
618 FString GetNextPageParam();
621 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
625 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
637 TArray<FString> AuthorizedPermissions;
639 FString AccessionToken = FString();
640 FString UserID = FString();
642 void InitParams(ppfPermissionResult* InppfPermissionResultHandle);
645 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|Permission")
646 FString GetAuthorizedPermission(int32 Index);
649 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
653 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
654 FString GetAccessToken();
657 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
671 TMap<FString, EUserRelationType> UserRelationMap;
673 int32 RelationMapSize;
675 TArray<FString> UserIDArray;
678 void InitParams(ppfUserRelationResult* InppfUserRelationResultHandle);
681 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|UserRelationResult")
682 int32 Contains(FString Key);
685 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|UserRelationResult")
686 FString GetUserID(int32 Index);
689 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|UserRelationResult")
690 int32 GetRelationMapSize();
693 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|UserRelationResult")
704 bool bHasEntitlement =
false;
706 int32 StatusCode = -1;
708 FString StatusMessage = FString();
711 void InitParams(ppfEntitlementCheckResult* InppfEntitlementCheckResultHandle);
714 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|EntitlementCheckResult")
715 bool GetHasEntitlement();
718 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|EntitlementCheckResult")
719 int32 GetStatusCode();
722 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|EntitlementCheckResult")
723 FString GetStatusMessage();
PicoUserInterface class.
Definition: Pico_User.h:46
bool GetUserFriends(FGetLoggedInUserFriends OnGetLoggedInUserFriendsCallback)
Gets the friend list of the current user. Friends who don't use this app won't appear in this list.
bool GetNextUserPage(UPico_UserArray *InUserArray, FGetNextUserPage OnGetNextUserPageCallback)
Gets the next page of user list.
bool GetLoggedInUserAndRoom(FGetLoggedInUserFriendsAndRooms OnGetLoggedInuserFriendsAndRoomsCallback)
Gets the friends of the logged-in user and the rooms the friends might be in. If a friend is not in a...
bool EntitlementCheck(bool bKillApp, FEntitlementCheckResult OnEntitlementCheckResultCallback)
Gets whether the player has entitlement to use the app in the current state.
bool GetAccessToken(FGetAccessTokenResult OnGetAccessTokenResultCallback)
Gets current login user's AccessToken.
bool RequestUserPermissions(TArray< FString > Permissions, FGetPermissionResult OnGetPermissionResultCallback)
Requests user permissions. The user will received a pop-up notification window.
bool GetAuthorizePermissions(FGetPermissionResult OnGetPermissionResultCallback)
Gets the authorized permissions.
bool LaunchFriendRequestFlow(const FString UserId, FLaunchFriendRequestResult OnLaunchFriendRequestResultCallback)
Launches the flow to apply for friendship with someone.
bool GetRelations(TArray< FString > UserIDs, FGetUserRelationResult OnGetUserRelationResultCallback)
Gets the relationship between a specified user and other user(s).
bool GetUserInfo(const FString &UserId, FGetUserInfo InGetUserInfoDelegate)
Gets the information by user ID.
bool GetNextUserAndRoomArrayPage(UPico_UserAndRoomArray *InUserAndRoomArray, FGetNextUserAndRoomArrayPage OnGetNextUserAndRoomArrayPageCallback)
Gets the friend list of the current user.
bool GetLoginUser(FGetLoginUser InGetLoginUserDelegate)
Gets the information about the current logged-in user.
OnlinePicoUser Blueprint Function class.
Definition: Pico_User.h:248
UPico_EntitlementCheckResult class.
Definition: Pico_User.h:700
UPico_PermissionResult class.
Definition: Pico_User.h:632
UPico_Room class.
Definition: Pico_Room.h:638
UPico_UserAndRoomArray class.
Definition: Pico_User.h:599
UPico_UserAndRoom class.
Definition: Pico_User.h:575
UPico_UserArray class.
Definition: Pico_User.h:539
UPico_User class.
Definition: Pico_User.h:451
UPico_UserRelationResult class.
Definition: Pico_User.h:664
EUserPresenceStatus
User's current online status.
Definition: OnlineSubsystemPicoNames.h:26
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:36
EUserRelationType
User relation type.
Definition: OnlineSubsystemPicoNames.h:880