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 ProfileImageOptions; }
23namespace Social { class UserListObserver; }
24namespace mce { struct Image; }
25class IClientInstance;
26class IMinecraftGame;
27class Options;
28namespace Social { struct User; }
29namespace Social { struct 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>) = 0;
45
46 virtual void initPrimaryIdentity() = 0;
47
48 virtual ::std::shared_ptr<::Social::User> getPrimaryUser() const = 0;
49
50 virtual bool isSecondaryUserCreationAllowed(int) const = 0;
51
52 virtual void setSecondaryUserCreationAllowed(int) = 0;
53
54 virtual ::Bedrock::Threading::Async<void> addSecondaryUserAsync(
55 int,
56 ::std::shared_ptr<::Options>,
57 ::std::function<void(::Social::UserPlatformConnectionResult)>
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, bool) = 0;
67
68 virtual void forceCloudSaveOnWorld(::std::string const&) = 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, bool) = 0;
121
122 virtual void removeClient(::std::shared_ptr<::IClientInstance> const&) = 0;
123
124 virtual ::std::shared_ptr<::Social::User> setUserClient(int, ::std::shared_ptr<::IClientInstance> const&) = 0;
125
126 virtual bool userHasClient(int) = 0;
127
128 virtual ::std::string_view getPlayFabTitleId() const = 0;
129
130 virtual ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> retrieveCIDToClientMap() = 0;
131
132 virtual int getClientCID(::IClientInstance const&) const = 0;
133
134 virtual void registerSignOutListener(::Core::CallbackListeners<int, ::Social::SignInResult>::Listener const&) = 0;
135
136 virtual void registerSignInListener(::Core::CallbackListeners<int, ::Social::SignInResult>::Listener const&) = 0;
137
138 virtual ::Bedrock::PubSub::Subscription
139 registerIdentitySignInCallback(::Social::IdentityType, ::std::function<void(uint, ::Social::IdentityType)>) = 0;
140
141 virtual ::Bedrock::PubSub::Subscription registerIdentitySignOutCallback(
142 ::Social::IdentityType,
143 ::std::function<void(uint, ::Social::IdentityType)>
144 ) = 0;
145
146 virtual ::Bedrock::PubSub::Subscription registerProfileImageChangedCallback(
147 ::std::function<void(::Social::ProfileImageOptions, ::std::shared_ptr<::mce::Image>)>
148 ) = 0;
149
150 virtual bool needGamepadDisconnectScreen(int) = 0;
151
152 virtual void tick(::IMinecraftGame&) = 0;
153
154 virtual void updateMapping(bool, bool) = 0;
155
156 virtual ::std::shared_ptr<::Social::User> getUser(::IClientInstance const&) const = 0;
157
158 virtual ::std::shared_ptr<::Social::User> getUser(::Social::XboxLiveUser const&) = 0;
159
160 virtual ::std::shared_ptr<::Social::User> getUserFromControllerId(int) const = 0;
161
162 virtual ::std::shared_ptr<::Social::User> getUserFromUserId(uint) = 0;
163
164 virtual ::std::shared_ptr<::Social::User const> const getUserFromUserId(uint) const = 0;
165
166 virtual ::GameUserType getUserTypeFromUserId(uint) const = 0;
167
168 virtual bool isChatAllowedWhenBlockedByPlatform() const = 0;
169
170 virtual ::std::vector<::std::shared_ptr<::Social::User>> const& getUsers() const = 0;
171
172 virtual bool isUserSignedIn(uint) = 0;
173
174 virtual bool isPrimaryUserInitialSignInInProgress() const = 0;
175
176 virtual void registerLevelLocationObserver(::ILevelListCache&) = 0;
177
178 virtual ::Social::MultiplayerServiceObserver& getMultiplayerServiceObserver() = 0;
179
180 virtual ::Social::MultiplayerServiceIdentifier getPlatformMultiplayerServiceIdentifier() const = 0;
181
182 virtual bool willSyncUserDataStorage() const = 0;
183 // NOLINTEND
184
185public:
186 // destructor thunk
187 // NOLINTBEGIN
188 MCNAPI void $dtor();
189 // NOLINTEND
190
191public:
192 // virtual function thunks
193 // NOLINTBEGIN
194
195 // NOLINTEND
196};
197
198} // namespace Social
Definition EnableNonOwnerReferences.h:7
Definition Subscription.h:10
Definition _HeaderOutputPredefine.h:279
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 ControllerIDtoClientMap.h:13
Definition User.h:7
Definition XboxLiveUser.h:7
Definition Image.h:12