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 IClientInstance;
18class ILevelListCache;
19class IMinecraftGame;
20class Options;
22namespace Bedrock::PubSub { class Subscription; }
23namespace Core { class SingleThreadedLock; }
24namespace Social { class MultiplayerServiceObserver; }
25namespace Social { class ProfileImageOptions; }
26namespace Social { class User; }
27namespace Social { class UserListObserver; }
28namespace Social { class XboxLiveUser; }
29namespace mce { struct Image; }
30// clang-format on
31
32namespace Social {
33
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 // vIndex: 0
39 virtual ~IUserManager() /*override*/ = default;
40
41 // vIndex: 1
42 virtual ::Bedrock::Threading::Async<void> createPrimaryUserAsync(::std::shared_ptr<::Options>) = 0;
43
44 // vIndex: 2
45 virtual void initPrimaryIdentity() = 0;
46
47 // vIndex: 3
48 virtual ::std::shared_ptr<::Social::User> getPrimaryUser() const = 0;
49
50 // vIndex: 4
51 virtual bool isSecondaryUserCreationAllowed(int) const = 0;
52
53 // vIndex: 5
54 virtual void setSecondaryUserCreationAllowed(int) = 0;
55
56 // vIndex: 6
57 virtual ::Bedrock::Threading::Async<void> addSecondaryUserAsync(
58 int,
59 ::std::shared_ptr<::Options>,
60 ::std::function<void(::Social::UserPlatformConnectionResult)>
61 ) = 0;
62
63 // vIndex: 7
64 virtual bool controllerChanged(int&, int&) = 0;
65
66 // vIndex: 8
67 virtual bool canChangePrimaryUserFromStartMenuScreen() const = 0;
68
69 // vIndex: 9
70 virtual void getAsyncUserSelection(::std::function<void(int)>, int) = 0;
71
72 // vIndex: 10
73 virtual void getAsyncUserSelectionForNewPrimaryUser(int, bool) = 0;
74
75 // vIndex: 11
76 virtual void forceCloudSaveOnWorld(::std::string const&) = 0;
77
78 // vIndex: 12
79 virtual ::Core::Subject<::Social::UserListObserver, ::Core::SingleThreadedLock>& getUserListSubject() = 0;
80
81 // vIndex: 13
82 virtual bool isPrimaryUserReady() const = 0;
83
84 // vIndex: 14
85 virtual bool canAccessPlayScreen() = 0;
86
87 // vIndex: 15
88 virtual bool needToShowPlatformStoreConnectConfirmationScreen() = 0;
89
90 // vIndex: 16
91 virtual bool canAccessSettingsScreen() = 0;
92
93 // vIndex: 17
94 virtual bool canAccessAchievementsScreen() = 0;
95
96 // vIndex: 18
97 virtual bool canAccessSkinScreen() = 0;
98
99 // vIndex: 19
100 virtual bool canAccessStoreScreen() const = 0;
101
102 // vIndex: 20
103 virtual bool canAccessRealmsPendingInvitesScreen() = 0;
104
105 // vIndex: 21
106 virtual bool canHandleInvites() = 0;
107
108 // vIndex: 22
109 virtual bool needPlatformConnectionBeforeXBLSignIn() = 0;
110
111 // vIndex: 23
112 virtual bool needPlatformConnectionForMultiplayer() const = 0;
113
114 // vIndex: 24
115 virtual bool needPlatformConnectionForSplitScreenMultiplayer() const = 0;
116
117 // vIndex: 25
118 virtual bool needPlatformConnectionBeforeServerSearch() const = 0;
119
120 // vIndex: 26
121 virtual bool needsAsyncUserSelection(int, bool) = 0;
122
123 // vIndex: 27
124 virtual bool hasPlatformIcons() const = 0;
125
126 // vIndex: 28
127 virtual bool hasPlatformProfileCards() const = 0;
128
129 // vIndex: 29
130 virtual void
131 getLinkedXuids(::std::function<void(::std::string, ::std::string)>, ::std::vector<::std::string> const&) const = 0;
132
133 // vIndex: 30
134 virtual void getLinkedPlatformIds(
135 ::std::function<void(::std::string, ::std::string)>,
136 ::std::vector<::std::string> const&
137 ) const = 0;
138
139 // vIndex: 31
140 virtual void onAppResumed() = 0;
141
142 // vIndex: 32
143 virtual void onAppSuspended() = 0;
144
145 // vIndex: 33
146 virtual void onAppFocusLost() = 0;
147
148 // vIndex: 34
149 virtual void removeUser(int, bool) = 0;
150
151 // vIndex: 35
152 virtual void removeClient(::std::shared_ptr<::IClientInstance> const&) = 0;
153
154 // vIndex: 36
155 virtual ::std::shared_ptr<::Social::User> setUserClient(int, ::std::shared_ptr<::IClientInstance> const&) = 0;
156
157 // vIndex: 37
158 virtual bool userHasClient(int) = 0;
159
160 // vIndex: 38
161 virtual ::std::string_view getPlayFabTitleId() const = 0;
162
163 // vIndex: 39
164 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
165
166 // vIndex: 40
167 virtual int getClientCID(::IClientInstance const&) const = 0;
168
169 // vIndex: 41
170 virtual void registerSignOutListener(::Core::CallbackListeners<int, ::Social::SignInResult>::Listener const&) = 0;
171
172 // vIndex: 42
173 virtual void registerSignInListener(::Core::CallbackListeners<int, ::Social::SignInResult>::Listener const&) = 0;
174
175 // vIndex: 43
176 virtual ::Bedrock::PubSub::Subscription
177 registerIdentitySignInCallback(::Social::IdentityType, ::std::function<void(uint, ::Social::IdentityType)>) = 0;
178
179 // vIndex: 44
180 virtual ::Bedrock::PubSub::Subscription registerIdentitySignOutCallback(
181 ::Social::IdentityType,
182 ::std::function<void(uint, ::Social::IdentityType)>
183 ) = 0;
184
185 // vIndex: 45
186 virtual ::Bedrock::PubSub::Subscription registerProfileImageChangedCallback(
187 ::std::function<void(::Social::ProfileImageOptions, ::std::shared_ptr<::mce::Image>)>
188 ) = 0;
189
190 // vIndex: 46
191 virtual bool needGamepadDisconnectScreen(int) = 0;
192
193 // vIndex: 47
194 virtual void tick(::IMinecraftGame&) = 0;
195
196 // vIndex: 48
197 virtual void updateMapping(bool, bool) = 0;
198
199 // vIndex: 50
200 virtual ::std::shared_ptr<::Social::User> getUser(::IClientInstance const&) const = 0;
201
202 // vIndex: 49
203 virtual ::std::shared_ptr<::Social::User> getUser(::Social::XboxLiveUser const&) = 0;
204
205 // vIndex: 51
206 virtual ::std::shared_ptr<::Social::User> getUserFromControllerId(int) const = 0;
207
208 // vIndex: 53
209 virtual ::std::shared_ptr<::Social::User> getUserFromUserId(uint) = 0;
210
211 // vIndex: 52
212 virtual ::std::shared_ptr<::Social::User const> const getUserFromUserId(uint) const = 0;
213
214 // vIndex: 54
215 virtual ::GameUserType getUserTypeFromUserId(uint) const = 0;
216
217 // vIndex: 55
218 virtual bool isChatAllowedWhenBlockedByPlatform() const = 0;
219
220 // vIndex: 56
221 virtual ::std::vector<::std::shared_ptr<::Social::User>> const& getUsers() const = 0;
222
223 // vIndex: 57
224 virtual bool isUserSignedIn(uint) = 0;
225
226 // vIndex: 58
227 virtual bool isPrimaryUserInitialSignInInProgress() const = 0;
228
229 // vIndex: 59
230 virtual void registerLevelLocationObserver(::ILevelListCache&) = 0;
231
232 // vIndex: 60
233 virtual ::Social::MultiplayerServiceObserver& getMultiplayerServiceObserver() = 0;
234
235 // vIndex: 61
236 virtual ::Social::MultiplayerServiceIdentifier getPlatformMultiplayerServiceIdentifier() const = 0;
237
238 // vIndex: 62
239 virtual bool willSyncUserDataStorage() const = 0;
240 // NOLINTEND
241
242public:
243 // virtual function thunks
244 // NOLINTBEGIN
245
246 // NOLINTEND
247};
248
249} // namespace Social
Definition EnableNonOwnerReferences.h:7
Definition _HeaderOutputPredefine.h:236
Definition IClientInstance.h:186
Definition ILevelListCache.h:27
Definition IMinecraftGame.h:169
Definition Options.h:31
Definition IUserManager.h:34
Definition ProfileImageOptions.h:7
Definition XboxLiveUser.h:7
Definition ControllerIDtoClientMap.h:8