LeviLamina
Loading...
Searching...
No Matches
DataDrivenUIRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/resources/ResourcePackListener.h"
8#include "mc/resources/interface/IDataDrivenUIRepository.h"
9
10// auto generated forward declare list
11// clang-format off
14namespace Bedrock::PubSub { class Subscription; }
15namespace Puv { class Logger; }
16namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerFixedGridLayout; }
17namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerLayout; }
18namespace SharedTypes::v1_21_130::DataDrivenUI { struct Context; }
19namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContextList; }
20namespace SharedTypes::v1_21_130::DataDrivenUI { struct ExtensionPoint; }
21namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormButton; }
22namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormDivider; }
23namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormDropdown; }
24namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormScrollView; }
25namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSlider; }
26namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSwitch; }
27namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormTextField; }
28namespace SharedTypes::v1_21_130::DataDrivenUI { struct Panel; }
29namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelCloseButton; }
30namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelDecoration; }
31namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelSpacing; }
32namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelText; }
33namespace SharedTypes::v1_21_130::DataDrivenUI { struct UIComposition; }
34namespace SharedTypes::v1_21_130::DataDrivenUI { struct UIRoot; }
35namespace SharedTypes::v1_21_130::DataDrivenUI { struct Visibility; }
36// clang-format on
37
38class DataDrivenUIRepository : public ::IDataDrivenUIRepository, public ::ResourcePackListener {
39public:
40 // member variables
41 // NOLINTBEGIN
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 DataDrivenUIRepository& operator=(DataDrivenUIRepository const&);
57 DataDrivenUIRepository(DataDrivenUIRepository const&);
58 DataDrivenUIRepository();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63#ifdef LL_PLAT_S
64 virtual ~DataDrivenUIRepository() /*override*/ = default;
65#else // LL_PLAT_C
66 virtual ~DataDrivenUIRepository() /*override*/;
67#endif
68
69 virtual void onActiveResourcePacksChanged(::ResourcePackManager&) /*override*/;
70
71#ifdef LL_PLAT_S
72 virtual void onJsonResourcesChanged(::ResourcePackManager&) /*override*/;
73#else // LL_PLAT_C
74 virtual void onJsonResourcesChanged(::ResourcePackManager& resourcePackManager) /*override*/;
75#endif
76
77#ifdef LL_PLAT_S
78 virtual void load(::ResourcePackManager const&) /*override*/;
79#else // LL_PLAT_C
80 virtual void load(::ResourcePackManager const& resourcePackManager) /*override*/;
81#endif
82
83#ifdef LL_PLAT_S
84 virtual ::std::vector<::std::variant<
85 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
86 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
87 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
88 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
89 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
90 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
91 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
92 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
93 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
94 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
95 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
96 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
97 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
98 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
99 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
100 getComposition(::std::string const&) const /*override*/;
101#else // LL_PLAT_C
102 virtual ::std::vector<::std::variant<
103 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
104 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
105 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
106 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
107 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
108 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
109 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
110 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
111 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
112 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
113 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
114 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
115 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
116 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
117 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
118 getComposition(::std::string const& identifier) const /*override*/;
119#endif
120
121#ifdef LL_PLAT_S
122 virtual ::std::vector<::std::variant<
123 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
124 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
125 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const& getRoot(::std::string const&) const
126 /*override*/;
127#else // LL_PLAT_C
128 virtual ::std::vector<::std::variant<
129 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
130 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
131 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
132 getRoot(::std::string const& identifier) const /*override*/;
133#endif
134
135#ifdef LL_PLAT_S
136 virtual ::std::vector<::std::variant<
137 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
138 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
139 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
140 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
141 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
142 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
143 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
144 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
145 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
146 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
147 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
148 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
149 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
150 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
151 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
152 getExtensionPointContents(::std::string const&) const /*override*/;
153#else // LL_PLAT_C
154 virtual ::std::vector<::std::variant<
155 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
156 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
157 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
158 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
159 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
160 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
161 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
162 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
163 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
164 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
165 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
166 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
167 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
168 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
169 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
170 getExtensionPointContents(::std::string const& name) const /*override*/;
171#endif
172
173#ifdef LL_PLAT_S
174 virtual ::Bedrock::PubSub::Subscription
175 subscribeToOnCompositionsReloadedAsync(::std::function<void()>&&) /*override*/;
176#else // LL_PLAT_C
177 virtual ::Bedrock::PubSub::Subscription
178 subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback) /*override*/;
179#endif
180
181 // NOLINTEND
182
183public:
184 // member functions
185 // NOLINTBEGIN
186#ifdef LL_PLAT_C
187 MCNAPI DataDrivenUIRepository(
188 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
189 ::ResourcePackManager& resourcePackManager
190 );
191
192 MCNAPI void _collectExtensionPoints();
193
194 MCNAPI void _initializeLoaders(
197 nullptr_t,
198 nullptr_t,
202 nullptr_t,
203 nullptr_t,
205 bool isBuiltinPack
206 );
207
208 MCNAPI bool _isExtensionPointDefined(::std::string const& name) const;
209
210 MCNAPI void _loadAllDataDrivenUIData(::ResourcePackManager const& resourcePackManager);
211
212 MCNAPI void
213 _parseAndLoadUICompositionData(char const* filenameStr, ::std::string const& fileData, bool isBuiltinPack);
214
215 MCNAPI void _parseAndLoadUIRootData(char const* filenameStr, ::std::string const& fileData, bool isBuiltinPack);
216
217 MCNAPI void _validateUICompositionDoc(
219 bool isBuiltinPack,
220 ::Puv::Logger& logger
221 );
222#endif
223 // NOLINTEND
224
225public:
226 // constructor thunks
227 // NOLINTBEGIN
228#ifdef LL_PLAT_C
229 MCNAPI void* $ctor(
230 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
231 ::ResourcePackManager& resourcePackManager
232 );
233#endif
234 // NOLINTEND
235
236public:
237 // destructor thunk
238 // NOLINTBEGIN
239 MCNAPI void $dtor();
240 // NOLINTEND
241
242public:
243 // virtual function thunks
244 // NOLINTBEGIN
245#ifdef LL_PLAT_C
246 MCNAPI void $onActiveResourcePacksChanged(::ResourcePackManager&);
247
248 MCNAPI void $onJsonResourcesChanged(::ResourcePackManager& resourcePackManager);
249
250 MCNAPI void $load(::ResourcePackManager const& resourcePackManager);
251
252 MCNAPI ::std::vector<::std::variant<
253 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
254 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
255 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
256 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
257 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
258 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
259 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
260 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
261 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
262 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
263 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
264 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
265 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
266 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
267 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
268 $getComposition(::std::string const& identifier) const;
269
270 MCNAPI ::std::vector<::std::variant<
271 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
272 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
273 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
274 $getRoot(::std::string const& identifier) const;
275
276 MCNAPI ::std::vector<::std::variant<
277 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
278 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
279 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
280 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
281 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
282 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
283 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
284 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
285 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
286 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
287 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
288 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
289 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
290 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
291 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
292 $getExtensionPointContents(::std::string const& name) const;
293
294 MCNAPI ::Bedrock::PubSub::Subscription
295 $subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback);
296#endif
297
298
299 // NOLINTEND
300
301public:
302 // vftables
303 // NOLINTBEGIN
305
306 MCNAPI static void** $vftableForResourcePackListener();
307 // NOLINTEND
308};
Definition Subscription.h:10
static MCAPI void ** $vftableForResourcePackListener()
static MCAPI void ** $vftableForIDataDrivenUIRepository()
Definition IDataDrivenUIRepository.h:32
Definition Logger.h:12
Definition _HeaderOutputPredefine.h:364
Definition ResourceLoadManager.h:19
Definition ResourcePackListener.h:10
MCAPI void $onJsonResourcesChanged(::ResourcePackManager &)
Definition ResourcePackManager.h:35
Definition Alias.h:14