7#include "CoreMinimal.h"
8#include "OnlineSubsystemPico.h"
9#include "Interfaces/OnlineFriendsInterface.h"
10#include "Interfaces/OnlinePresenceInterface.h"
11#include "OnlineSubsystemPicoTypes.h"
12#include "OnlineSubsystemPicoPackage.h"
24 FUniqueNetIdPicoRef UserId;
25 const FString StrUserId;
26 const FString DisplayName;
27 FOnlineUserPresence Presence;
28 const FString InviteToken;
29 const FString ImageUrl;
31 const FString SmallImageUrl;
32 const FString PresencePackage;
33 ppfUserPresenceStatus UserPresenceStatus;
34 const FString Presencestr;
35 const FString PresenceDeeplinkMessage;
36 const FString PresenceDestinationApiName;
37 const FString PresenceLobbySessionId;
38 const FString PresenceMatchSessionId;
39 const FString PresenceExtra;
41 FOnlinePicoFriend(
const FString StrId,
const FString& InDisplayName, ppfUserPresenceStatus FriendPresenceStatus,
42 const FString& InInviteToken,
const FString& InImageUrl, ppfGender InGender,
const FString& InSmallImageUrl,
43 const FString& InPresencePackage,
const FString& InPresence,
const FString& InPresenceDeeplinkMessage,
44 const FString& InPresenceDestinationApiName,
const FString& InPresenceLobbySessionId,
const FString& InPresenceMatchSessionId,
45 const FString& InExtra) :
46 UserId(FUniqueNetIdPico::Create(StrId)),
48 DisplayName(InDisplayName),
49 InviteToken(InInviteToken),
52 SmallImageUrl(InSmallImageUrl),
53 PresencePackage(InPresencePackage),
54 UserPresenceStatus(FriendPresenceStatus),
55 Presencestr(InPresence),
56 PresenceDeeplinkMessage(InPresenceDeeplinkMessage),
57 PresenceDestinationApiName(InPresenceDestinationApiName),
58 PresenceLobbySessionId(InPresenceLobbySessionId),
59 PresenceMatchSessionId(InPresenceMatchSessionId),
60 PresenceExtra(InExtra)
62 Presence.bIsOnline = FriendPresenceStatus == ppfUserPresenceStatus_OnLine;
65 virtual FUniqueNetIdRef GetUserId()
const override
70 FString GetUserStrId()
const
75 virtual FString GetRealName()
const override
80 virtual FString GetDisplayName(
const FString& Platform = FString())
const override
85 virtual bool GetUserAttribute(
const FString& AttrName, FString& OutAttrValue)
const override
90 virtual EInviteStatus::Type GetInviteStatus()
const override
92 return EInviteStatus::Accepted;
95 virtual const FOnlineUserPresence& GetPresence()
const override
100 FString GetInviteToken()
const
105 FString GetImageUrl()
const
110 FString GetPresencePackage()
const
112 return PresencePackage;
114 FString GetPresencechar()
const
118 FString GetPresenceDeeplinkMessage()
const
120 return PresenceDeeplinkMessage;
123 FString GetPresenceDestinationApiName()
const
125 return PresenceDestinationApiName;
128 FString GetPresenceLobbySessionId()
const
130 return PresenceLobbySessionId;
133 FString GetPresenceMatchSessionId()
const
135 return PresenceMatchSessionId;
138 FString GetPresenceExtra()
const
140 return PresenceExtra;
143 FString GetSmallImageUrl()
const
145 return SmallImageUrl;
147 ppfUserPresenceStatus GetUserPresenceStates()
const
149 return UserPresenceStatus;
152 ppfGender GetGender()
const
190 void OnQueryFriendsComplete(ppfMessageHandle Message,
bool bIsError, int32 LocalUserNum,
const FString& ListName, TMap<FString, TSharedRef<FOnlineFriend>>& OutList,
bool bAppendToExistingMap,
const FOnReadFriendsListComplete& Delegate);
194 static const FString FriendsListInviteableUsers;
216 virtual bool ReadFriendsList(int32 LocalUserNum,
const FString & ListName,
const FOnReadFriendsListComplete & Delegate = FOnReadFriendsListComplete())
override;
218 bool ReadFriendsList(int32 LocalUserNum,
const FString& ListName, ppfID RoomId,
const FOnReadFriendsListComplete& Delegate = FOnReadFriendsListComplete());
221 virtual bool DeleteFriendsList(int32 LocalUserNum,
const FString & ListName,
const FOnDeleteFriendsListComplete & Delegate = FOnDeleteFriendsListComplete())
override;
224 virtual bool SendInvite(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FOnSendInviteComplete & Delegate = FOnSendInviteComplete())
override;
227 virtual bool AcceptInvite(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FOnAcceptInviteComplete & Delegate = FOnAcceptInviteComplete())
override;
230 virtual bool RejectInvite(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
233 virtual void SetFriendAlias(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FString & Alias,
const FOnSetFriendAliasComplete & Delegate = FOnSetFriendAliasComplete())
override;
236 virtual void DeleteFriendAlias(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName,
const FOnDeleteFriendAliasComplete & Delegate = FOnDeleteFriendAliasComplete())
override;
239 virtual bool DeleteFriend(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
251 virtual bool GetFriendsList(int32 LocalUserNum,
const FString & ListName, TArray< TSharedRef<FOnlineFriend> >&OutFriends)
override;
258 virtual TSharedPtr<FOnlineFriend>
GetFriend(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
270 virtual bool IsFriend(int32 LocalUserNum,
const FUniqueNetId & FriendId,
const FString & ListName)
override;
273 virtual bool QueryRecentPlayers(
const FUniqueNetId & UserId,
const FString & Namespace)
override;
276 virtual bool GetRecentPlayers(
const FUniqueNetId & UserId,
const FString & Namespace, TArray< TSharedRef<FOnlineRecentPlayer> >&OutRecentPlayers)
override;
279 virtual void DumpRecentPlayers()
const override;
282 virtual bool BlockPlayer(int32 LocalUserNum,
const FUniqueNetId & PlayerId)
override;
285 virtual bool UnblockPlayer(int32 LocalUserNum,
const FUniqueNetId & PlayerId)
override;
288 virtual bool QueryBlockedPlayers(
const FUniqueNetId & UserId)
override;
291 virtual bool GetBlockedPlayers(
const FUniqueNetId & UserId, TArray< TSharedRef<FOnlineBlockedPlayer> >&OutBlockedPlayers)
override;
294 virtual void DumpBlockedPlayers()
const override;
OnlineFriendsPico class inherited from IOnlineFriends(Unreal Engine).
Definition: OnlineFriendsInterfacePico.h:175
virtual bool ReadFriendsList(int32 LocalUserNum, const FString &ListName, const FOnReadFriendsListComplete &Delegate=FOnReadFriendsListComplete()) override
Starts an async task that reads the named friends list for the player.
FOnlineSubsystemPico & PicoSubsystem
Reference to the main Pico subsystem.
Definition: OnlineFriendsInterfacePico.h:179
FOnlineFriendsPico(FOnlineSubsystemPico &InSubsystem)
The constructor.
TMap< FString, TSharedRef< FOnlineFriend > > InvitableUsers
Current friends map can user invite.
Definition: OnlineFriendsInterfacePico.h:185
virtual bool GetFriendsList(int32 LocalUserNum, const FString &ListName, TArray< TSharedRef< FOnlineFriend > > &OutFriends) override
Gets the list of friends for the player previously retrieved from the online service.
virtual ~FOnlineFriendsPico()=default
The default destructor.
virtual bool IsFriend(int32 LocalUserNum, const FUniqueNetId &FriendId, const FString &ListName) override
Checks that a unique player ID is part of the specified user's friends list.
TMap< FString, TSharedRef< FOnlineFriend > > PlayerFriends
Current player friends map.
Definition: OnlineFriendsInterfacePico.h:182
virtual TSharedPtr< FOnlineFriend > GetFriend(int32 LocalUserNum, const FUniqueNetId &FriendId, const FString &ListName) override
Gets the cached friend entry if found.
OnlinePicoFriend class inherited from FOnlineFriend(Unreal Engine).
Definition: OnlineFriendsInterfacePico.h:19