16#include "CoreMinimal.h"
17#include "UObject/NoExportTypes.h"
18#include "PPF_Platform.h"
19#include "OnlineSubsystemPicoNames.h"
20#include "OnlineSubsystemPico.h"
22#include "Pico_User.generated.h"
26DECLARE_LOG_CATEGORY_EXTERN(PicoUser, Log, All);
33DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoggedInUserFriendsAndRooms,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserAndRoomArray*, UserAndRoomArray);
34DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetNextUserAndRoomArrayPage,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserAndRoomArray*, UserAndRoomArray);
35DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoggedInUserFriends,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserArray*, UserArray);
36DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetNextUserPage,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserArray*, UserArray);
37DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoginUser,
bool, bIsError,
const FString&, ErrorMessage,
UPico_User*, User);
38DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetUserInfo,
bool, bIsError,
const FString&, ErrorMessage,
UPico_User*, User);
39DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetPermissionResult,
bool, bIsError,
const FString&, ErrorMessage,
UPico_PermissionResult*, PermissionResult);
40DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAccessTokenResult,
bool, bIsError,
const FString&, ErrorMessage,
const FString&, AccessToken);
41DECLARE_DYNAMIC_DELEGATE_FourParams(FLaunchFriendRequestResult,
bool, bIsError,
const FString&, ErrorMessage,
bool, bDidCancel,
bool, bDidSendRequest);
42DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetUserRelationResult,
bool, bIsError,
const FString&, ErrorMessage,
UPico_UserRelationResult*, UserRelationResult);
59 FOnlineSubsystemPico& PicoSubsystem;
65 FGetLoginUser GetLoginUserDelegate;
66 FGetLoggedInUserFriendsAndRooms GetLoggedInUserFriendsAndRoomsDelegate;
67 FGetNextUserAndRoomArrayPage GetNextUserAndRoomArrayPageDelegate;
68 FGetLoggedInUserFriends GetLoggedInUserFriendsDelegate;
69 FGetNextUserPage GetNextUserFriendsPageDelegate;
70 FGetUserInfo GetUserInfoDelegate;
71 FGetPermissionResult GetAuthorizePermissionsDelegate;
72 FGetPermissionResult RequestUserPermissionsDelegate;
73 FLaunchFriendRequestResult LaunchFriendRequestDelegate;
74 FGetAccessTokenResult GetAccesstokenDelegate;
75 FGetUserRelationResult GetUserRelationDelegate;
98 bool GetUserInfo(
const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
221 bool GetRelations(TArray<FString> UserIDs, FGetUserRelationResult OnGetUserRelationResultCallback);
256 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|User")
257 static
void PicoGetLoggedInUserAndRoom(UObject* WorldContextObject, FGetLoggedInUserFriendsAndRooms InGetLoggedInuserFriendsAndRoomsCallback);
270 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
271 static
void PicoGetNextUserAndRoomArrayPage(UObject* WorldContextObject,
UPico_UserAndRoomArray* InUserAndRoomArray, FGetNextUserAndRoomArrayPage InGetNextUserAndRoomArrayPageCallback);
284 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
285 static
void PicoGetUserFriends(UObject* WorldContextObject, FGetLoggedInUserFriends InGetLoggedInUserFriendsDelegate);
298 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
299 static
void PicoGetNextUserPage(UObject* WorldContextObject,
UPico_UserArray* InUserArray, FGetNextUserPage InGetNextUserPageDelegate);
311 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
312 static
bool GetLoginUser(UObject* WorldContextObject, FGetLoginUser InGetLoginUserDelegate);
325 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
326 static
bool GetPicoUserInfo(UObject* WorldContextObject, const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
340 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
341 static
bool GetAuthorizePermissions(UObject* WorldContextObject, FGetPermissionResult OnGetPermissionResultCallback);
362 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
363 static
bool RequestUserPermissions(UObject* WorldContextObject, TArray<FString> Permissions, FGetPermissionResult OnGetPermissionResultCallback);
378 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
379 static
bool LaunchFriendRequestFlow(UObject* WorldContextObject, const FString UserId, FLaunchFriendRequestResult OnLaunchFriendRequestResultCallback);
393 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
394 static
bool GetAccessToken(UObject* WorldContextObject, FGetAccessTokenResult OnGetAccessTokenResultCallback);
412 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
413 static
bool GetRelations(UObject* WorldContextObject, TArray<FString> UserIDs, FGetUserRelationResult OnGetUserRelationResultCallback);
425 void InitParams(ppfUser* ppfUserHandle);
428 FString DisplayName = FString();
429 FString ImageUrl = FString();
430 FString ID = FString();
431 FString InviteToken = FString();
432 FString SmallImageUrl = FString();
433 FString PresencePackage = FString();
436 FString Presence = FString();
437 FString PresenceDeeplinkMessage = FString();
438 FString PresenceDestinationApiName = FString();
439 FString PresenceLobbySessionId = FString();
440 FString PresenceMatchSessionId = FString();
441 FString PresenceExtra = FString();
442 FString StoreRegion = FString();
447 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
448 FString GetDisplayName();
451 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
452 FString GetImageURL();
455 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
459 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
460 FString GetInviteToken();
463 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
464 FString GetSmallImageUrl();
467 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
468 FString GetPresencePackage();
471 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
475 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
479 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
480 FString GetPresence();
483 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
484 FString GetPresenceDeeplinkMessage();
487 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
488 FString GetPresenceDestinationApiName();
491 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
492 FString GetPresenceLobbySessionId();
495 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
496 FString GetPresenceMatchSessionId();
499 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
500 FString GetPresenceExtra();
503 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User")
504 FString GetStoreRegion();
515 void InitParams(ppfUserArray* InppfUserArrayHandle);
519 TArray<UPico_User*> UserArray;
520 FString NextPageParam;
527 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User Array")
530 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
531 FString GetNextPageParam();
534 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
538 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
556 void InitParams(ppfUserAndRoom* InppfUserAndRoomHandle);
559 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User And Room")
563 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room")
576 TArray<UPico_UserAndRoom*> UserAndRoomArray;
577 FString NextPageParam = FString();
581 void InitParams(ppfUserAndRoomArray* InppfUserAndRoomArrayHandle);
584 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User And Room Array")
588 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
589 FString GetNextPageParam();
592 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
596 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
608 TArray<FString> AuthorizedPermissions;
610 FString AccessionToken = FString();
611 FString UserID = FString();
613 void InitParams(ppfPermissionResult* InppfPermissionResultHandle);
616 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|Permission")
617 FString GetAuthorizedPermission(int32 Index);
620 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
624 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
625 FString GetAccessToken();
628 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
642 TMap<FString, EUserRelationType> UserRelationMap;
644 int32 RelationMapSize;
646 TArray<FString> UserIDArray;
649 void InitParams(ppfUserRelationResult* InppfUserRelationResultHandle);
652 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|UserRelationResult")
653 int32 Contains(FString Key);
656 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|UserRelationResult")
657 FString GetUserID(int32 Index);
660 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|UserRelationResult")
661 int32 GetRelationMapSize();
664 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|UserRelationResult")
PicoUserInterface class.
Definition: Pico_User.h:56
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 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:240
UPico_PermissionResult class.
Definition: Pico_User.h:603
UPico_Room class.
Definition: Pico_Room.h:584
UPico_UserAndRoomArray class.
Definition: Pico_User.h:570
UPico_UserAndRoom class.
Definition: Pico_User.h:546
UPico_UserArray class.
Definition: Pico_User.h:510
UPico_User class.
Definition: Pico_User.h:422
UPico_UserRelationResult class.
Definition: Pico_User.h:635
EUserPresenceStatus
User's current online status.
Definition: OnlineSubsystemPicoNames.h:38
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:48
EUserRelationType
User relation type.
Definition: OnlineSubsystemPicoNames.h:867