43 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<void>>
44 createPrimaryUserAsync(::std::shared_ptr<::Options>) = 0;
47 virtual void initPrimaryIdentity() = 0;
50 virtual ::std::shared_ptr<::Social::User> getPrimaryUser()
const = 0;
53 virtual bool isSecondaryUserCreationAllowed(
int)
const = 0;
56 virtual void setSecondaryUserCreationAllowed(
int) = 0;
59 virtual ::std::shared_ptr<::Bedrock::Threading::IAsyncResult<void>>
60 addSecondaryUserAsync(
int, ::std::shared_ptr<::Options>, ::std::function<
void(::Social::UserPlatformConnectionResult)>) = 0;
63 virtual bool controllerChanged(
int&,
int&) = 0;
66 virtual bool canChangePrimaryUserFromStartMenuScreen()
const = 0;
69 virtual void getAsyncUserSelection(::std::function<
void(
int)>,
int) = 0;
72 virtual void getAsyncUserSelectionForNewPrimaryUser(
int,
bool) = 0;
75 virtual void forceCloudSaveOnWorld(::std::string
const&) = 0;
78 virtual ::Core::Subject<::Social::UserListObserver, ::Core::SingleThreadedLock>& getUserListSubject() = 0;
81 virtual bool isPrimaryUserReady() = 0;
84 virtual bool canAccessPlayScreen() = 0;
87 virtual bool needToShowPlatformStoreConnectConfirmationScreen() = 0;
90 virtual bool canAccessSettingsScreen() = 0;
93 virtual bool canAccessAchievementsScreen() = 0;
96 virtual bool canAccessSkinScreen() = 0;
99 virtual bool canAccessStoreScreen() = 0;
102 virtual bool canAccessRealmsPendingInvitesScreen() = 0;
105 virtual bool canHandleInvites() = 0;
108 virtual bool needPlatformConnectionBeforeXBLSignIn() = 0;
111 virtual bool needPlatformConnectionForMultiplayer()
const = 0;
114 virtual bool needPlatformConnectionForSplitScreenMultiplayer()
const = 0;
117 virtual bool needPlatformConnectionBeforeServerSearch()
const = 0;
120 virtual bool needsAsyncUserSelection(
int,
bool) = 0;
123 virtual bool hasPlatformIcons()
const = 0;
126 virtual bool hasPlatformProfileCards()
const = 0;
130 getLinkedXuids(::std::function<
void(::std::string, ::std::string)>, ::std::vector<::std::string>
const&)
const = 0;
134 getLinkedPlatformIds(::std::function<
void(::std::string, ::std::string)>, ::std::vector<::std::string>
const&)
138 virtual void onAppResumed() = 0;
141 virtual void onAppSuspended() = 0;
144 virtual void onAppFocusLost() = 0;
147 virtual void removeUser(
int,
bool) = 0;
150 virtual void removeClient(::std::shared_ptr<::IClientInstance>
const&) = 0;
153 virtual void setUserClient(
int, ::std::shared_ptr<::IClientInstance>
const&) = 0;
156 virtual bool userHasClient(
int) = 0;
159 virtual ::Social::PlayFabEnvironment getEnvironment()
const = 0;
162 virtual ::std::string_view getPlayFabTitleId()
const = 0;
165 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
177 virtual ::Bedrock::PubSub::Subscription
178 registerIdentitySignInCallback(::Social::IdentityType, ::std::function<
void(uint, ::Social::IdentityType)>) = 0;
181 virtual ::Bedrock::PubSub::Subscription
182 registerIdentitySignOutCallback(::Social::IdentityType, ::std::function<
void(uint, ::Social::IdentityType)>) = 0;
185 virtual ::Bedrock::PubSub::Subscription
186 registerProfileImageChangedCallback(::std::function<
190 virtual bool needGamepadDisconnectScreen(
int) = 0;
196 virtual void updateMapping(
bool,
bool) = 0;
199 virtual ::std::shared_ptr<::Social::User> getUser(
::IClientInstance const&)
const = 0;
205 virtual ::std::shared_ptr<::Social::User> getUserFromControllerId(
int)
const = 0;
208 virtual ::std::shared_ptr<::Social::User> getUserFromUserId(uint) = 0;
211 virtual ::std::shared_ptr<::Social::User const>
const getUserFromUserId(uint)
const = 0;
214 virtual ::GameUserType getUserTypeFromUserId(uint)
const = 0;
217 virtual bool isChatAllowedWhenBlockedByPlatform()
const = 0;
220 virtual ::std::vector<::std::shared_ptr<::Social::User>>
const& getUsers()
const = 0;
223 virtual bool isUserSignedIn(uint) = 0;
226 virtual bool isPrimaryUserInitialSignInInProgress()
const = 0;
232 virtual ::Social::MultiplayerServiceObserver& getMultiplayerServiceObserver() = 0;
235 virtual ::Social::MultiplayerServiceIdentifier getPlatformMultiplayerServiceIdentifier()
const = 0;
238 virtual bool willSyncUserDataStorage()
const = 0;