44 virtual ::Bedrock::Threading::Async<void> createPrimaryUserAsync(::std::shared_ptr<::Options>) = 0;
46 virtual void initPrimaryIdentity() = 0;
48 virtual ::std::shared_ptr<::Social::User> getPrimaryUser()
const = 0;
50 virtual bool isSecondaryUserCreationAllowed(
int)
const = 0;
52 virtual void setSecondaryUserCreationAllowed(
int) = 0;
54 virtual ::Bedrock::Threading::Async<void> addSecondaryUserAsync(
56 ::std::shared_ptr<::Options>,
57 ::std::function<
void(::Social::UserPlatformConnectionResult)>
60 virtual bool controllerChanged(
int&,
int&) = 0;
62 virtual bool canChangePrimaryUserFromStartMenuScreen()
const = 0;
64 virtual void getAsyncUserSelection(::std::function<
void(
int)>,
int) = 0;
66 virtual void getAsyncUserSelectionForNewPrimaryUser(
int,
bool) = 0;
68 virtual void forceCloudSaveOnWorld(::std::string
const&) = 0;
70 virtual ::Core::Subject<::Social::UserListObserver, ::Core::SingleThreadedLock>& getUserListSubject() = 0;
72 virtual bool isPrimaryUserReady()
const = 0;
74 virtual bool canAccessPlayScreen() = 0;
76 virtual bool needToShowPlatformStoreConnectConfirmationScreen() = 0;
78 virtual bool canAccessSettingsScreen() = 0;
80 virtual bool canAccessAchievementsScreen() = 0;
82 virtual bool canAccessSkinScreen() = 0;
84 virtual bool canAccessStoreScreen()
const = 0;
86 virtual bool canAccessRealmsPendingInvitesScreen() = 0;
88 virtual bool canHandleInvites() = 0;
90 virtual bool needPlatformConnectionBeforeXBLSignIn() = 0;
92 virtual bool needPlatformConnectionForMultiplayer()
const = 0;
94 virtual bool needPlatformConnectionForSplitScreenMultiplayer()
const = 0;
96 virtual bool needPlatformConnectionBeforeServerSearch()
const = 0;
98 virtual bool needsAsyncUserSelection(
int,
bool) = 0;
100 virtual bool hasPlatformIcons()
const = 0;
102 virtual bool hasPlatformProfileCards()
const = 0;
104 virtual void getLinkedXuids(
105 ::std::function<
void(::std::string, ::std::string)> callback,
106 ::std::vector<::std::string>
const& platformIds
109 virtual void getLinkedPlatformIds(
110 ::std::function<
void(::std::string, ::std::string)> callback,
111 ::std::vector<::std::string>
const& xuids
114 virtual void onAppResumed() = 0;
116 virtual void onAppSuspended() = 0;
118 virtual void onAppFocusLost() = 0;
120 virtual void removeUser(
int,
bool) = 0;
122 virtual void removeClient(::std::shared_ptr<::IClientInstance>
const&) = 0;
124 virtual ::std::shared_ptr<::Social::User> setUserClient(
int, ::std::shared_ptr<::IClientInstance>
const&) = 0;
126 virtual bool userHasClient(
int) = 0;
128 virtual ::std::string_view getPlayFabTitleId()
const = 0;
130 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
138 virtual ::Bedrock::PubSub::Subscription
139 registerIdentitySignInCallback(::Social::IdentityType, ::std::function<
void(uint, ::Social::IdentityType)>) = 0;
141 virtual ::Bedrock::PubSub::Subscription registerIdentitySignOutCallback(
142 ::Social::IdentityType,
143 ::std::function<
void(uint, ::Social::IdentityType)>
146 virtual ::Bedrock::PubSub::Subscription registerProfileImageChangedCallback(
150 virtual bool needGamepadDisconnectScreen(
int) = 0;
154 virtual void updateMapping(
bool,
bool) = 0;
156 virtual ::std::shared_ptr<::Social::User> getUser(
::IClientInstance const&)
const = 0;
160 virtual ::std::shared_ptr<::Social::User> getUserFromControllerId(
int)
const = 0;
162 virtual ::std::shared_ptr<::Social::User> getUserFromUserId(uint) = 0;
164 virtual ::std::shared_ptr<::Social::User const>
const getUserFromUserId(uint)
const = 0;
166 virtual ::GameUserType getUserTypeFromUserId(uint)
const = 0;
168 virtual bool isChatAllowedWhenBlockedByPlatform()
const = 0;
170 virtual ::std::vector<::std::shared_ptr<::Social::User>>
const& getUsers()
const = 0;
172 virtual bool isUserSignedIn(uint) = 0;
174 virtual bool isPrimaryUserInitialSignInInProgress()
const = 0;
178 virtual ::Social::MultiplayerServiceObserver& getMultiplayerServiceObserver() = 0;
180 virtual ::Social::MultiplayerServiceIdentifier getPlatformMultiplayerServiceIdentifier()
const = 0;
182 virtual bool willSyncUserDataStorage()
const = 0;