LeviLamina
Loading...
Searching...
No Matches
ClubsBaseController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/controllers/MainMenuScreenController.h"
8#include "mc/client/services/clubs/ActivityFeed.h"
9#include "mc/client/services/clubs/ClubModel.h"
10#include "mc/client/social/PlatformUserProfileData.h"
11#include "mc/client/social/ProfileImageOptions.h"
12#include "mc/deps/core/file/PathBuffer.h"
13#include "mc/deps/core/threading/TaskGroup.h"
14#include "mc/platform/threading/Mutex.h"
15
16// auto generated forward declare list
17// clang-format off
19namespace Clubs { struct FeedItem; }
20namespace Realms { struct RealmId; }
21namespace Realms { struct World; }
22namespace Social { struct XboxLiveUserProfileData; }
23// clang-format on
24
26public:
27 // ClubsBaseController inner types declare
28 // clang-format off
29 struct FeedPlayerInfo;
31 // clang-format on
32
33 // ClubsBaseController inner types define
34 struct FeedPlayerInfo {
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 32, ::std::string> mPlayerName;
39 ::ll::TypedStorage<8, 72, ::Social::ProfileImageOptions> mProfileImage;
40 // NOLINTEND
41
42 public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI ~FeedPlayerInfo();
46 // NOLINTEND
47
48 public:
49 // destructor thunk
50 // NOLINTBEGIN
51 MCAPI void $dtor();
52 // NOLINTEND
53 };
54
56 public:
57 // member variables
58 // NOLINTBEGIN
59 ::ll::TypedStorage<8, 8, ::Social::XboxLiveUserProfileData const*> mXboxUserProfileData;
60 ::ll::TypedStorage<8, 192, ::Social::PlatformUserProfileData> mPlatformUserProfileData;
61 ::ll::TypedStorage<1, 1, bool> mUsesLinkedProfile;
62 // NOLINTEND
63
64 public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI ~LinkedPlatformUserProfileData();
68 // NOLINTEND
69
70 public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCFOLD void $dtor();
74 // NOLINTEND
75 };
76
77public:
78 // member variables
79 // NOLINTBEGIN
80 ::ll::TypedStorage<8, 64, ::std::function<void(::std::string const&, bool)>> mScrollToControlCallback;
81 ::ll::TypedStorage<8, 64, ::Clubs::ActivityFeed> mFeed;
82 ::ll::TypedStorage<8, 32, ::std::vector<bool>> mHasScreenshotLoaded;
83 ::ll::TypedStorage<8, 128, ::Clubs::ClubModel> mClub;
84 ::ll::TypedStorage<1, 1, bool> mFeedLoading;
85 ::ll::TypedStorage<1, 1, bool> mFeedEmpty;
86 ::ll::TypedStorage<1, 1, bool> mShowLoading;
87 ::ll::TypedStorage<1, 1, bool> mCanLike;
88 ::ll::TypedStorage<1, 1, bool> mDirty;
89 ::ll::TypedStorage<1, 1, bool> mPlayerListInitialized;
90 ::ll::TypedStorage<1, 1, bool> mClubsInfoInitialized;
91 ::ll::TypedStorage<1, 1, bool> mUseLinkedAccounts;
92 ::ll::TypedStorage<1, 1, bool> mLoadingLinkedFriends;
93 ::ll::TypedStorage<1, 1, bool> mJustPosted;
94 ::ll::TypedStorage<4, 4, int> mNumFriendsToLoad;
95 ::ll::TypedStorage<4, 4, ::std::atomic<::ui::DirtyFlag>> mNextTickDirtyFlag;
96 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mAsyncPlayerProfileAccessMutex;
97 ::ll::TypedStorage<8, 64, ::std::unordered_set<::std::string>> mXuidsInFeed;
98 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::Core::PathBuffer<::std::string>>>
99 mScreenshotPathsInFeed;
100 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::ClubsBaseController::FeedPlayerInfo>> mPlayerList;
101 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::Social::XboxLiveUserProfileData>>
102 mAsyncPlayerProfiles;
103 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::Social::XboxLiveUserProfileData>> mPlayerProfiles;
104 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::ClubsBaseController::LinkedPlatformUserProfileData>>
105 mLinkedPlayerProfiles;
106 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mScreenshotLoadedMutex;
107 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mScreenshotPathMutex;
108 ::ll::TypedStorage<8, 8, ::Realms::World const&> mWorld;
109 ::ll::TypedStorage<8, 336, ::TaskGroup> mTaskGroup;
110 // NOLINTEND
111
112public:
113 // prevent constructor by default
114 ClubsBaseController& operator=(ClubsBaseController const&);
115 ClubsBaseController(ClubsBaseController const&);
116 ClubsBaseController();
117
118public:
119 // virtual functions
120 // NOLINTBEGIN
121 virtual ~ClubsBaseController() /*override*/;
122
123 virtual void onOpen() /*override*/;
124
125 virtual ::Clubs::FeedItem& _getFeedItem(int const i);
126
127 virtual int _getFeedSize() const;
128
129 virtual void _updateFeed();
130
131 virtual void _populateListsFromFeed();
132 // NOLINTEND
133
134public:
135 // member functions
136 // NOLINTBEGIN
137 MCAPI ClubsBaseController(::std::shared_ptr<::MainMenuScreenModel> model, ::Realms::World const& world);
138
139 MCAPI void _deleteFeedItem(::Clubs::FeedItem feedItem, ::Realms::RealmId realmId, ::std::string const& clubId);
140
141 MCAPI void _findLinkedAccount(::std::string xuid, ::std::string uuid);
142
143 MCAPI void _loadScreenshotForItem(::Clubs::FeedItem& feedItem, int index);
144
145 MCAPI void _markMostRecentOwnPostViewed();
146
147 MCAPI void _populatePlayerList();
148
149 MCAPI void _requestLinkedAccounts();
150
151 MCAPI void _requestPlayerProfiles();
152
153 MCAPI void _retrieveLinkedAccountInfo(::std::string xuid, ::std::string uuid, ::std::string gamerTag);
154 // NOLINTEND
155
156public:
157 // constructor thunks
158 // NOLINTBEGIN
159 MCAPI void* $ctor(::std::shared_ptr<::MainMenuScreenModel> model, ::Realms::World const& world);
160 // NOLINTEND
161
162public:
163 // destructor thunk
164 // NOLINTBEGIN
165 MCAPI void $dtor();
166 // NOLINTEND
167
168public:
169 // virtual function thunks
170 // NOLINTBEGIN
171 MCAPI void $onOpen();
172
173 MCAPI ::Clubs::FeedItem& $_getFeedItem(int const i);
174
175 MCAPI int $_getFeedSize() const;
176
177 MCAPI void $_updateFeed();
178
179 MCAPI void $_populateListsFromFeed();
180 // NOLINTEND
181
182public:
183 // vftables
184 // NOLINTBEGIN
186
187 MCNAPI static void** $vftableForScreenController();
188 // NOLINTEND
189};
Definition ClubsBaseController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition MainMenuScreenController.h:5
Definition MainMenuScreenModel.h:5
Definition ClubsBaseController.h:14
Definition ClubsBaseController.h:16
Definition FeedItem.h:7
Definition RealmId.h:7
Definition World.h:7
Definition XboxLiveUserProfileData.h:7