42 virtual ::Bedrock::Threading::Async<void> createPrimaryUserAsync(::std::shared_ptr<::Options>) = 0;
45 virtual void initPrimaryIdentity() = 0;
48 virtual ::std::shared_ptr<::Social::User> getPrimaryUser()
const = 0;
51 virtual bool isSecondaryUserCreationAllowed(
int)
const = 0;
54 virtual void setSecondaryUserCreationAllowed(
int) = 0;
57 virtual ::Bedrock::Threading::Async<void> addSecondaryUserAsync(
59 ::std::shared_ptr<::Options>,
60 ::std::function<
void(::Social::UserPlatformConnectionResult)>
64 virtual bool controllerChanged(
int&,
int&) = 0;
67 virtual bool canChangePrimaryUserFromStartMenuScreen()
const = 0;
70 virtual void getAsyncUserSelection(::std::function<
void(
int)>,
int) = 0;
73 virtual void getAsyncUserSelectionForNewPrimaryUser(
int,
bool) = 0;
76 virtual void forceCloudSaveOnWorld(::std::string
const&) = 0;
79 virtual ::Core::Subject<::Social::UserListObserver, ::Core::SingleThreadedLock>& getUserListSubject() = 0;
82 virtual bool isPrimaryUserReady()
const = 0;
85 virtual bool canAccessPlayScreen() = 0;
88 virtual bool needToShowPlatformStoreConnectConfirmationScreen() = 0;
91 virtual bool canAccessSettingsScreen() = 0;
94 virtual bool canAccessAchievementsScreen() = 0;
97 virtual bool canAccessSkinScreen() = 0;
100 virtual bool canAccessStoreScreen()
const = 0;
103 virtual bool canAccessRealmsPendingInvitesScreen() = 0;
106 virtual bool canHandleInvites() = 0;
109 virtual bool needPlatformConnectionBeforeXBLSignIn() = 0;
112 virtual bool needPlatformConnectionForMultiplayer()
const = 0;
115 virtual bool needPlatformConnectionForSplitScreenMultiplayer()
const = 0;
118 virtual bool needPlatformConnectionBeforeServerSearch()
const = 0;
121 virtual bool needsAsyncUserSelection(
int,
bool) = 0;
124 virtual bool hasPlatformIcons()
const = 0;
127 virtual bool hasPlatformProfileCards()
const = 0;
131 getLinkedXuids(::std::function<
void(::std::string, ::std::string)>, ::std::vector<::std::string>
const&)
const = 0;
134 virtual void getLinkedPlatformIds(
135 ::std::function<
void(::std::string, ::std::string)>,
136 ::std::vector<::std::string>
const&
140 virtual void onAppResumed() = 0;
143 virtual void onAppSuspended() = 0;
146 virtual void onAppFocusLost() = 0;
149 virtual void removeUser(
int,
bool) = 0;
152 virtual void removeClient(::std::shared_ptr<::IClientInstance>
const&) = 0;
155 virtual ::std::shared_ptr<::Social::User> setUserClient(
int, ::std::shared_ptr<::IClientInstance>
const&) = 0;
158 virtual bool userHasClient(
int) = 0;
161 virtual ::std::string_view getPlayFabTitleId()
const = 0;
164 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
176 virtual ::Bedrock::PubSub::Subscription
177 registerIdentitySignInCallback(::Social::IdentityType, ::std::function<
void(uint, ::Social::IdentityType)>) = 0;
180 virtual ::Bedrock::PubSub::Subscription registerIdentitySignOutCallback(
181 ::Social::IdentityType,
182 ::std::function<
void(uint, ::Social::IdentityType)>
186 virtual ::Bedrock::PubSub::Subscription registerProfileImageChangedCallback(
191 virtual bool needGamepadDisconnectScreen(
int) = 0;
197 virtual void updateMapping(
bool,
bool) = 0;
200 virtual ::std::shared_ptr<::Social::User> getUser(
::IClientInstance const&)
const = 0;
206 virtual ::std::shared_ptr<::Social::User> getUserFromControllerId(
int)
const = 0;
209 virtual ::std::shared_ptr<::Social::User> getUserFromUserId(uint) = 0;
212 virtual ::std::shared_ptr<::Social::User const>
const getUserFromUserId(uint)
const = 0;
215 virtual ::GameUserType getUserTypeFromUserId(uint)
const = 0;
218 virtual bool isChatAllowedWhenBlockedByPlatform()
const = 0;
221 virtual ::std::vector<::std::shared_ptr<::Social::User>>
const& getUsers()
const = 0;
224 virtual bool isUserSignedIn(uint) = 0;
227 virtual bool isPrimaryUserInitialSignInInProgress()
const = 0;
233 virtual ::Social::MultiplayerServiceObserver& getMultiplayerServiceObserver() = 0;
236 virtual ::Social::MultiplayerServiceIdentifier getPlatformMultiplayerServiceIdentifier()
const = 0;
239 virtual bool willSyncUserDataStorage()
const = 0;