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);
46 FOnlineSubsystemPico& PicoSubsystem;
52 FGetLoginUser GetLoginUserDelegate;
53 FGetLoggedInUserFriendsAndRooms GetLoggedInUserFriendsAndRoomsDelegate;
54 FGetNextUserAndRoomArrayPage GetNextUserAndRoomArrayPageDelegate;
55 FGetLoggedInUserFriends GetLoggedInUserFriendsDelegate;
56 FGetNextUserPage GetNextUserFriendsPageDelegate;
57 FGetUserInfo GetUserInfoDelegate;
58 FGetPermissionResult GetAuthorizePermissionsDelegate;;
59 FGetPermissionResult RequestUserPermissionsDelegate;
80 bool GetUserInfo(
const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
123 bool GetNextUserPage(UPico_UserArray* InUserArray, FGetNextUserPage OnGetNextUserPageCallback);
186 UFUNCTION(BlueprintCallable, meta = (WorldContext =
"WorldContextObject"), Category =
"OnlinePico|User")
187 static
void PicoGetLoggedInUserAndRoom(UObject* WorldContextObject, FGetLoggedInUserFriendsAndRooms InGetLoggedInuserFriendsAndRoomsCallback);
199 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
200 static
void PicoGetNextUserAndRoomArrayPage(UObject* WorldContextObject, UPico_UserAndRoomArray* InUserAndRoomArray, FGetNextUserAndRoomArrayPage InGetNextUserAndRoomArrayPageCallback);
212 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
213 static
void PicoGetUserFriends(UObject* WorldContextObject, FGetLoggedInUserFriends InGetLoggedInUserFriendsDelegate);
225 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
226 static
void PicoGetNextUserPage(UObject* WorldContextObject, UPico_UserArray* InUserArray, FGetNextUserPage InGetNextUserPageDelegate);
237 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
238 static
bool GetLoginUser(UObject* WorldContextObject, FGetLoginUser InGetLoginUserDelegate);
250 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
251 static
bool GetPicoUserInfo(UObject* WorldContextObject, const FString& UserId, FGetUserInfo InGetUserInfoDelegate);
264 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
265 static
bool GetAuthorizePermissions(UObject* WorldContextObject, FGetPermissionResult OnGetPermissionResultCallback);
284 UFUNCTION(BlueprintCallable, meta = (WorldContext = "WorldContextObject"), Category = "OnlinePico|User")
285 static
bool RequestUserPermissions(UObject* WorldContextObject, TArray<FString> Permissions, FGetPermissionResult OnGetPermissionResultCallback);
293class ONLINESUBSYSTEMPICO_API UPico_User : public UObject
297 void InitParams(ppfUser* ppfUserHandle);
300 FString DisplayName = FString();
301 FString ImageUrl = FString();
302 FString ID = FString();
303 FString InviteToken = FString();
304 FString SmallImageUrl = FString();
305 FString PresencePackage = FString();
306 EUserPresenceStatus UserPresenceStatus = EUserPresenceStatus::Unknow;
307 EUserGender UserGender = EUserGender::Unknow;
308 FString Presence = FString();
309 FString PresenceDeeplinkMessage = FString();
310 FString PresenceDestinationApiName = FString();
311 FString PresenceLobbySessionId = FString();
312 FString PresenceMatchSessionId = FString();
313 FString PresenceExtra = FString();
314 FString StoreRegion = FString();
318 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
319 FString GetDisplayName();
321 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
322 FString GetImageURL();
324 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
327 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
328 FString GetInviteToken();
330 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
331 FString GetSmallImageUrl();
333 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
334 FString GetPresencePackage();
336 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
337 EUserPresenceStatus GetUserPresenceStatus();
339 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
340 EUserGender GetGender();
342 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
343 FString GetPresence();
345 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
346 FString GetPresenceDeeplinkMessage();
348 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
349 FString GetPresenceDestinationApiName();
351 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
352 FString GetPresenceLobbySessionId();
354 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
355 FString GetPresenceMatchSessionId();
357 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
358 FString GetPresenceExtra();
360 UFUNCTION(BlueprintPure, Category =
"Pico Platform|User|User")
361 FString GetStoreRegion();
365class ONLINESUBSYSTEMPICO_API UPico_UserArray :
public UObject
371 void InitParams(ppfUserArray* InppfUserArrayHandle);
375 TArray<UPico_User*> UserArray;
376 FString NextPageParam;
383 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
384 UPico_User* GetElement(int32 Index);
386 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
387 FString GetNextPageParam();
389 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
392 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User Array")
398class ONLINESUBSYSTEMPICO_API UPico_UserAndRoom : public UObject
404 UPico_Room* Room =
nullptr;
407 UPico_User* User =
nullptr;
409 void InitParams(ppfUserAndRoom* InppfUserAndRoomHandle);
411 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room")
412 UPico_Room* GetRoom();
414 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room")
415 UPico_User* GetUser();
419class ONLINESUBSYSTEMPICO_API UPico_UserAndRoomArray : public UObject
426 TArray<UPico_UserAndRoom*> UserAndRoomArray;
427 FString NextPageParam = FString();
431 void InitParams(ppfUserAndRoomArray* InppfUserAndRoomArrayHandle);
433 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
434 UPico_UserAndRoom* GetElement(int32 Index);
436 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
437 FString GetNextPageParam();
439 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
442 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|User And Room Array")
447class ONLINESUBSYSTEMPICO_API UPico_PermissionResult : public UObject
453 TArray<FString> AuthorizedPermissions;
455 FString AccessionToken = FString();
456 FString UserID = FString();
458 void InitParams(ppfPermissionResult* InppfPermissionResultHandle);
460 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
461 FString GetAuthorizedPermission(int32 Index);
463 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
466 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
467 FString GetAccessToken();
469 UFUNCTION(BlueprintPure, Category = "Pico Platform|User|Permission")
PicoUserInterface class.
Definition: Pico_User.h:43
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 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:171