6#include "CoreMinimal.h"
7#include "UObject/NoExportTypes.h"
8#include "PPF_Platform.h"
9#include "OnlineSubsystemPicoNames.h"
10#include "OnlineSubsystemPico.h"
12#include "Pico_User.generated.h"
16DECLARE_LOG_CATEGORY_EXTERN(PicoUser, Log, All);
23DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoggedInUserFriendsAndRooms,
bool, bIsError,
const FString&, ErrorMessage, UPico_UserAndRoomArray*, UserAndRoomArray);
24DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetNextUserAndRoomArrayPage,
bool, bIsError,
const FString&, ErrorMessage, UPico_UserAndRoomArray*, UserAndRoomArray);
25DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoggedInUserFriends,
bool, bIsError,
const FString&, ErrorMessage, UPico_UserArray*, UserArray);
26DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetNextUserPage,
bool, bIsError,
const FString&, ErrorMessage, UPico_UserArray*, UserArray);
27DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetLoginUser,
bool, bIsError,
const FString&, ErrorMessage, UPico_User*, User);
28DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetUserInfo,
bool, bIsError,
const FString&, ErrorMessage, UPico_User*, User);
29DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetPermissionResult,
bool, bIsError,
const FString&, ErrorMessage, UPico_PermissionResult*, PermissionResult);
30DECLARE_DYNAMIC_DELEGATE_ThreeParams(FGetAccessTokenResult,
bool, bIsError,
const FString&, ErrorMessage,
const FString&, AccessToken);
31DECLARE_DYNAMIC_DELEGATE_FourParams(FLaunchFriendRequestResult,
bool, bIsError,
const FString&, ErrorMessage,
bool, bDidCancel,
bool, bDidSendRequest);
48 FOnlineSubsystemPico& PicoSubsystem;
54 FGetLoginUser GetLoginUserDelegate;
55 FGetLoggedInUserFriendsAndRooms GetLoggedInUserFriendsAndRoomsDelegate;
56 FGetNextUserAndRoomArrayPage GetNextUserAndRoomArrayPageDelegate;
57 FGetLoggedInUserFriends GetLoggedInUserFriendsDelegate;
58 FGetNextUserPage GetNextUserFriendsPageDelegate;
59 FGetUserInfo GetUserInfoDelegate;
60 FGetPermissionResult GetAuthorizePermissionsDelegate;
61 FGetPermissionResult RequestUserPermissionsDelegate;
62 FLaunchFriendRequestResult LaunchFriendRequestDelegate;
63 FGetAccessTokenResult GetAccesstokenDelegate;
84 bool GetUserInfo(
const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
127 bool GetNextUserPage(UPico_UserArray* InUserArray, FGetNextUserPage OnGetNextUserPageCallback);
172 bool GetAccessToken(FGetAccessTokenResult OnGetAccessTokenResultCallback);
206 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|User")
207 static
void PicoGetLoggedInUserAndRoom(UObject* WorldContextObject, FGetLoggedInUserFriendsAndRooms InGetLoggedInuserFriendsAndRoomsCallback);
219 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
220 static
void PicoGetNextUserAndRoomArrayPage(UObject* WorldContextObject, UPico_UserAndRoomArray* InUserAndRoomArray, FGetNextUserAndRoomArrayPage InGetNextUserAndRoomArrayPageCallback);
232 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
233 static
void PicoGetUserFriends(UObject* WorldContextObject, FGetLoggedInUserFriends InGetLoggedInUserFriendsDelegate);
245 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
246 static
void PicoGetNextUserPage(UObject* WorldContextObject, UPico_UserArray* InUserArray, FGetNextUserPage InGetNextUserPageDelegate);
257 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
258 static
bool GetLoginUser(UObject* WorldContextObject, FGetLoginUser InGetLoginUserDelegate);
270 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
271 static
bool GetPicoUserInfo(UObject* WorldContextObject, const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
284 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
285 static
bool GetAuthorizePermissions(UObject* WorldContextObject, FGetPermissionResult OnGetPermissionResultCallback);
305 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
306 static
bool RequestUserPermissions(UObject* WorldContextObject, TArray<FString> Permissions, FGetPermissionResult OnGetPermissionResultCallback);
320 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
321 static
bool LaunchFriendRequestFlow(UObject* WorldContextObject, const FString UserId, FLaunchFriendRequestResult OnLaunchFriendRequestResultCallback);
323 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
324 static
bool GetAccessToken(UObject* WorldContextObject, FGetAccessTokenResult OnGetAccessTokenResultCallback);
331class ONLINESUBSYSTEMPICO_API UPico_User : public UObject
335 void InitParams(ppfUser* ppfUserHandle);
338 FString DisplayName = FString();
339 FString ImageUrl = FString();
340 FString ID = FString();
341 FString InviteToken = FString();
342 FString SmallImageUrl = FString();
343 FString PresencePackage = FString();
346 FString Presence = FString();
347 FString PresenceDeeplinkMessage = FString();
348 FString PresenceDestinationApiName = FString();
349 FString PresenceLobbySessionId = FString();
350 FString PresenceMatchSessionId = FString();
351 FString PresenceExtra = FString();
352 FString StoreRegion = FString();
356 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
357 FString GetDisplayName();
359 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
360 FString GetImageURL();
362 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
365 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
366 FString GetInviteToken();
368 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
369 FString GetSmallImageUrl();
371 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
372 FString GetPresencePackage();
374 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
377 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
380 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
381 FString GetPresence();
383 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
384 FString GetPresenceDeeplinkMessage();
386 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
387 FString GetPresenceDestinationApiName();
389 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
390 FString GetPresenceLobbySessionId();
392 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
393 FString GetPresenceMatchSessionId();
395 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
396 FString GetPresenceExtra();
398 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
399 FString GetStoreRegion();
403class ONLINESUBSYSTEMPICO_API UPico_UserArray :
public UObject
409 void InitParams(ppfUserArray* InppfUserArrayHandle);
413 TArray<UPico_User*> UserArray;
414 FString NextPageParam;
421 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
422 UPico_User* GetElement(int32 Index);
424 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
425 FString GetNextPageParam();
427 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
430 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
436class ONLINESUBSYSTEMPICO_API UPico_UserAndRoom : public UObject
442 UPico_Room* Room =
nullptr;
445 UPico_User* User =
nullptr;
447 void InitParams(ppfUserAndRoom* InppfUserAndRoomHandle);
449 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room")
450 UPico_Room* GetRoom();
452 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room")
453 UPico_User* GetUser();
457class ONLINESUBSYSTEMPICO_API UPico_UserAndRoomArray : public UObject
464 TArray<UPico_UserAndRoom*> UserAndRoomArray;
465 FString NextPageParam = FString();
469 void InitParams(ppfUserAndRoomArray* InppfUserAndRoomArrayHandle);
471 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
472 UPico_UserAndRoom* GetElement(int32 Index);
474 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
475 FString GetNextPageParam();
477 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
480 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
485class ONLINESUBSYSTEMPICO_API UPico_PermissionResult : public UObject
491 TArray<FString> AuthorizedPermissions;
493 FString AccessionToken = FString();
494 FString UserID = FString();
496 void InitParams(ppfPermissionResult* InppfPermissionResultHandle);
498 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
499 FString GetAuthorizedPermission(int32 Index);
501 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
504 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
505 FString GetAccessToken();
507 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
PicoUserInterface class.
Definition: Pico_User.h:45
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 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 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:191
EUserPresenceStatus
User's current online status.
Definition: OnlineSubsystemPicoNames.h:28
EUserGender
User's gender.
Definition: OnlineSubsystemPicoNames.h:37