LeviLamina
Loading...
Searching...
No Matches
IUserManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/social/MultiplayerServiceIdentifier.h"
7#include "mc/client/social/UserPlatformConnectionResult.h"
8#include "mc/common/GameUserType.h"
9#include "mc/deps/core/threading/Async.h"
10#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
11#include "mc/deps/core/utility/NonOwnerPointer.h"
12#include "mc/deps/core/utility/Subject.h"
13#include "mc/identity/IdentityType.h"
14
15// auto generated forward declare list
16// clang-format off
17class ILevelListCache;
19namespace Bedrock::PubSub { class Subscription; }
20namespace Core { class SingleThreadedLock; }
21namespace Social { class MultiplayerServiceObserver; }
22namespace Social { class UserListObserver; }
23namespace mce { struct Image; }
24class IClientInstance;
25class IMinecraftGame;
26class Options;
27namespace Social { class ProfileImageOptions; }
28namespace Social { class User; }
29namespace Social { class XboxLiveUser; }
30// clang-format on
31
32namespace Social {
33
35public:
36 // virtual functions
37 // NOLINTBEGIN
38#ifdef LL_PLAT_S
39 virtual ~IUserManager() /*override*/ = default;
40#else // LL_PLAT_C
41 virtual ~IUserManager() /*override*/;
42#endif
43
44 virtual ::Bedrock::Threading::Async<void> createPrimaryUserAsync(::std::shared_ptr<::Options> options) = 0;
45
46 virtual void initPrimaryIdentity() = 0;
47
48 virtual ::std::shared_ptr<::Social::User> getPrimaryUser() const = 0;
49
50 virtual bool isSecondaryUserCreationAllowed(int id) const = 0;
51
52 virtual void setSecondaryUserCreationAllowed(int id) = 0;
53
54 virtual ::Bedrock::Threading::Async<void> addSecondaryUserAsync(
55 int id,
56 ::std::shared_ptr<::Options> options,
57 ::std::function<void(::Social::UserPlatformConnectionResult)> callback
58 ) = 0;
59
60 virtual bool controllerChanged(int&, int&) = 0;
61
62 virtual bool canChangePrimaryUserFromStartMenuScreen() const = 0;
63
64 virtual void getAsyncUserSelection(::std::function<void(int)>, int) = 0;
65
66 virtual void getAsyncUserSelectionForNewPrimaryUser(int id, bool restrictToControllerIdChange) = 0;
67
68 virtual void forceCloudSaveOnWorld(::std::string const& levelId) = 0;
69
70 virtual ::Core::Subject<::Social::UserListObserver, ::Core::SingleThreadedLock>& getUserListSubject() = 0;
71
72 virtual bool isPrimaryUserReady() const = 0;
73
74 virtual bool canAccessPlayScreen() = 0;
75
76 virtual bool needToShowPlatformStoreConnectConfirmationScreen() = 0;
77
78 virtual bool canAccessSettingsScreen() = 0;
79
80 virtual bool canAccessAchievementsScreen() = 0;
81
82 virtual bool canAccessSkinScreen() = 0;
83
84 virtual bool canAccessStoreScreen() const = 0;
85
86 virtual bool canAccessRealmsPendingInvitesScreen() = 0;
87
88 virtual bool canHandleInvites() = 0;
89
90 virtual bool needPlatformConnectionBeforeXBLSignIn() = 0;
91
92 virtual bool needPlatformConnectionForMultiplayer() const = 0;
93
94 virtual bool needPlatformConnectionForSplitScreenMultiplayer() const = 0;
95
96 virtual bool needPlatformConnectionBeforeServerSearch() const = 0;
97
98 virtual bool needsAsyncUserSelection(int, bool) = 0;
99
100 virtual bool hasPlatformIcons() const = 0;
101
102 virtual bool hasPlatformProfileCards() const = 0;
103
104 virtual void getLinkedXuids(
105 ::std::function<void(::std::string, ::std::string)> callback,
106 ::std::vector<::std::string> const& platformIds
107 ) const = 0;
108
109 virtual void getLinkedPlatformIds(
110 ::std::function<void(::std::string, ::std::string)> callback,
111 ::std::vector<::std::string> const& xuids
112 ) const = 0;
113
114 virtual void onAppResumed() = 0;
115
116 virtual void onAppSuspended() = 0;
117
118 virtual void onAppFocusLost() = 0;
119
120 virtual void removeUser(int id, bool restartIfPrimary) = 0;
121
122 virtual void removeClient(::std::shared_ptr<::IClientInstance> const& ci) = 0;
123
124 virtual ::std::shared_ptr<::Social::User>
125 setUserClient(int id, ::std::shared_ptr<::IClientInstance> const& clientPtr) = 0;
126
127 virtual bool userHasClient(int id) = 0;
128
129 virtual ::std::string_view getPlayFabTitleId() const = 0;
130
131 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
132
133 virtual int getClientCID(::IClientInstance const& client) const = 0;
134
135 virtual void
136 registerSignOutListener(::Core::CallbackListeners<int, ::Social::SignInResult>::Listener const& listener) = 0;
137
138 virtual void
139 registerSignInListener(::Core::CallbackListeners<int, ::Social::SignInResult>::Listener const& listener) = 0;
140
141 virtual ::Bedrock::PubSub::Subscription registerIdentitySignInCallback(
142 ::Social::IdentityType idType,
143 ::std::function<void(uint, ::Social::IdentityType)> listener
144 ) = 0;
145
146 virtual ::Bedrock::PubSub::Subscription registerIdentitySignOutCallback(
147 ::Social::IdentityType idType,
148 ::std::function<void(uint, ::Social::IdentityType)> listener
149 ) = 0;
150
151 virtual ::Bedrock::PubSub::Subscription registerProfileImageChangedCallback(
152 ::std::function<void(::Social::ProfileImageOptions, ::std::shared_ptr<::mce::Image>)> listener
153 ) = 0;
154
155 virtual bool needGamepadDisconnectScreen(int controllerId) = 0;
156
157 virtual void tick(::IMinecraftGame& minecraftGame) = 0;
158
159 virtual void updateMapping(bool onScreenAcceptingAllControllerInput, bool inGame) = 0;
160
161 virtual ::std::shared_ptr<::Social::User> getUser(::IClientInstance const& client) const = 0;
162
163 virtual ::std::shared_ptr<::Social::User> getUser(::Social::XboxLiveUser const& liveUser) = 0;
164
165 virtual ::std::shared_ptr<::Social::User> getUserFromControllerId(int id) const = 0;
166
167 virtual ::std::shared_ptr<::Social::User> getUserFromUserId(uint id) = 0;
168
169 virtual ::std::shared_ptr<::Social::User const> const getUserFromUserId(uint id) const = 0;
170
171 virtual ::GameUserType getUserTypeFromUserId(uint id) const = 0;
172
173 virtual bool isChatAllowedWhenBlockedByPlatform() const = 0;
174
175 virtual ::std::vector<::std::shared_ptr<::Social::User>> const& getUsers() const = 0;
176
177 virtual bool isUserSignedIn(uint id) = 0;
178
179 virtual bool isPrimaryUserInitialSignInInProgress() const = 0;
180
181 virtual void registerLevelLocationObserver(::ILevelListCache& levelListCache) = 0;
182
183 virtual ::Social::MultiplayerServiceObserver& getMultiplayerServiceObserver() = 0;
184
185 virtual ::Social::MultiplayerServiceIdentifier getPlatformMultiplayerServiceIdentifier() const = 0;
186 // NOLINTEND
187
188public:
189 // destructor thunk
190 // NOLINTBEGIN
191 MCNAPI void $dtor();
192 // NOLINTEND
193
194public:
195 // virtual function thunks
196 // NOLINTBEGIN
197
198 // NOLINTEND
199};
200
201} // namespace Social
Definition EnableNonOwnerReferences.h:7
Definition Subscription.h:10
Definition _HeaderOutputPredefine.h:282
Definition SingleThreadedLock.h:7
Definition IClientInstance.h:5
Definition ILevelListCache.h:27
Definition IMinecraftGame.h:5
Definition Options.h:5
Definition IUserManager.h:34
MCAPI void $dtor()
Definition MultiplayerServiceObserver.h:17
Definition ProfileImageOptions.h:7
Definition UserListObserver.h:17
Definition User.h:7
Definition XboxLiveUser.h:7
Definition ControllerIDtoClientMap.h:13
Definition Image.h:12