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
15namespace Bedrock::PubSub { class Subscription; }
16namespace PuvLoadData { struct TelemetryEventData; }
17namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerFixedGridLayout; }
18namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerLayout; }
19namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerTextField; }
20namespace SharedTypes::v1_21_130::DataDrivenUI { struct Context; }
21namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContextList; }
22namespace SharedTypes::v1_21_130::DataDrivenUI { struct ExtensionPoint; }
23namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormButton; }
24namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormDivider; }
25namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormDropdown; }
26namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormImage; }
27namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormScrollView; }
28namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSlider; }
29namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSwitch; }
30namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormTextField; }
31namespace SharedTypes::v1_21_130::DataDrivenUI { struct Panel; }
32namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelCloseButton; }
33namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelDecoration; }
34namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelSpacing; }
35namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelText; }
36namespace SharedTypes::v1_21_130::DataDrivenUI { struct ScrollableGridLayout; }
37namespace SharedTypes::v1_21_130::DataDrivenUI { struct UIComposition; }
38namespace SharedTypes::v1_21_130::DataDrivenUI { struct UIRoot; }
39namespace SharedTypes::v1_21_130::DataDrivenUI { struct Visibility; }
40namespace mce { class UUID; }
41// clang-format on
42
43class DataDrivenUIRepository : public ::IDataDrivenUIRepository, public ::ResourcePackListener {
44public:
45 // member variables
46 // NOLINTBEGIN
58 // NOLINTEND
59
60public:
61 // prevent constructor by default
62 DataDrivenUIRepository& operator=(DataDrivenUIRepository const&);
63 DataDrivenUIRepository(DataDrivenUIRepository const&);
64 DataDrivenUIRepository();
65
66public:
67 // virtual functions
68 // NOLINTBEGIN
69 virtual ~DataDrivenUIRepository() /*override*/ = default;
70
71 virtual void onActiveResourcePacksChanged(::ResourcePackManager&) /*override*/;
72
73 virtual void onJsonResourcesChanged(::ResourcePackManager& resourcePackManager) /*override*/;
74
75 virtual void load(::ResourcePackManager const& resourcePackManager) /*override*/;
76
77 virtual bool hasRootDefinition(::std::string const& identifier) const /*override*/;
78
79 virtual ::std::vector<::std::variant<
80 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
81 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerTextField>,
82 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
83 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
84 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
85 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
86 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormImage>,
87 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
88 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
89 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
90 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
91 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
92 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
93 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
94 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
95 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ScrollableGridLayout>,
96 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
97 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
98 getComposition(::std::string const& identifier) const /*override*/;
99
100 virtual ::mce::UUID const& getCompositionPackId(::std::string const& identifier) const /*override*/;
101
102 virtual ::std::vector<::std::variant<
103 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
104 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
105 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
106 getRoot(::std::string const& identifier) const /*override*/;
107
108 virtual ::mce::UUID const& getRootPackId(::std::string const& identifier) const /*override*/;
109
110 virtual ::std::vector<::std::variant<
111 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
112 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerTextField>,
113 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
114 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
115 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
116 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
117 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormImage>,
118 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
119 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
120 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
121 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
122 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
123 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
124 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
125 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
126 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ScrollableGridLayout>,
127 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
128 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
129 getExtensionPointContents(::std::string const& name) const /*override*/;
130
131 virtual ::Bedrock::PubSub::Subscription
132 subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback) /*override*/;
133 // NOLINTEND
134
135public:
136 // member functions
137 // NOLINTBEGIN
138#ifdef LL_PLAT_C
139 MCNAPI DataDrivenUIRepository(
140 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
141 ::ResourcePackManager& resourcePackManager,
142 ::IMinecraftEventing& eventing
143 );
144
145 MCNAPI void _initializeLoaders(
148 nullptr_t,
149 nullptr_t,
150 nullptr_t,
154 nullptr_t,
155 nullptr_t,
156 nullptr_t,
158 bool const isBuiltinPack
159 );
160
161 MCNAPI bool _parseAndLoadUICompositionData(
162 char const* filenameStr,
163 ::std::string const& fileData,
164 bool const isBuiltinPack,
166 ::mce::UUID const packId
167 );
168
169 MCNAPI bool _parseAndLoadUIRootData(
170 char const* filenameStr,
171 ::std::string const& fileData,
172 bool const isBuiltinPack,
174 ::mce::UUID const packId
175 );
176#endif
177 // NOLINTEND
178
179public:
180 // constructor thunks
181 // NOLINTBEGIN
182#ifdef LL_PLAT_C
183 MCNAPI void* $ctor(
184 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
185 ::ResourcePackManager& resourcePackManager,
186 ::IMinecraftEventing& eventing
187 );
188#endif
189 // NOLINTEND
190
191public:
192 // virtual function thunks
193 // NOLINTBEGIN
194#ifdef LL_PLAT_C
195 MCNAPI void $onActiveResourcePacksChanged(::ResourcePackManager&);
196
197 MCNAPI void $onJsonResourcesChanged(::ResourcePackManager& resourcePackManager);
198
199 MCNAPI void $load(::ResourcePackManager const& resourcePackManager);
200
201 MCNAPI bool $hasRootDefinition(::std::string const& identifier) const;
202
203 MCNAPI ::std::vector<::std::variant<
204 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
205 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerTextField>,
206 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
207 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
208 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
209 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
210 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormImage>,
211 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
212 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
213 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
214 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
215 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
216 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
217 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
218 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
219 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ScrollableGridLayout>,
220 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
221 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
222 $getComposition(::std::string const& identifier) const;
223
224 MCNAPI ::mce::UUID const& $getCompositionPackId(::std::string const& identifier) const;
225
226 MCNAPI ::std::vector<::std::variant<
227 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
228 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
229 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
230 $getRoot(::std::string const& identifier) const;
231
232 MCNAPI ::mce::UUID const& $getRootPackId(::std::string const& identifier) const;
233
234 MCNAPI ::std::vector<::std::variant<
235 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
236 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerTextField>,
237 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
238 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
239 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
240 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
241 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormImage>,
242 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
243 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
244 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
245 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
246 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
247 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
248 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
249 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
250 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ScrollableGridLayout>,
251 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
252 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
253 $getExtensionPointContents(::std::string const& name) const;
254
255 MCNAPI ::Bedrock::PubSub::Subscription
256 $subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback);
257#endif
258
259
260 // NOLINTEND
261};
Definition Subscription.h:10
Definition IDataDrivenUIRepository.h:36
Definition IMinecraftEventing.h:147
Definition _HeaderOutputPredefine.h:398
Definition ResourceLoadManager.h:18
Definition ResourcePackListener.h:10
MCAPI void $onJsonResourcesChanged(::ResourcePackManager &resourcePackManager)
Definition ResourcePackManager.h:36
Definition UUID.h:8
Definition TelemetryEventData.h:12
Definition Alias.h:14