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 virtual void onJsonResourcesChanged(::ResourcePackManager& resourcePackManager) /*override*/;
72
73 virtual void load(::ResourcePackManager const& resourcePackManager) /*override*/;
74
75 virtual ::std::vector<::std::variant<
76 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
77 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
78 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
79 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
80 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
81 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
82 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
83 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
84 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
85 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
86 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
87 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
88 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
89 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
90 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
91 getComposition(::std::string const& identifier) const /*override*/;
92
93 virtual ::std::vector<::std::variant<
94 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
95 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
96 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
97 getRoot(::std::string const& identifier) const /*override*/;
98
99 virtual ::std::vector<::std::variant<
100 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
101 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
102 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
103 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
104 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
105 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
106 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
107 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
108 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
109 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
110 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
111 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
112 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
113 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
114 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
115 getExtensionPointContents(::std::string const& name) const /*override*/;
116
117 virtual ::Bedrock::PubSub::Subscription
118 subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback) /*override*/;
119 // NOLINTEND
120
121public:
122 // member functions
123 // NOLINTBEGIN
124#ifdef LL_PLAT_C
125 MCNAPI DataDrivenUIRepository(
126 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
127 ::ResourcePackManager& resourcePackManager
128 );
129
130 MCNAPI void _initializeLoaders(
133 nullptr_t,
134 nullptr_t,
138 nullptr_t,
139 nullptr_t,
141 bool isBuiltinPack
142 );
143
144 MCNAPI void _loadAllDataDrivenUIData(::ResourcePackManager const& resourcePackManager);
145
146 MCNAPI void
147 _parseAndLoadUICompositionData(char const* filenameStr, ::std::string const& fileData, bool isBuiltinPack);
148
149 MCNAPI void _parseAndLoadUIRootData(char const* filenameStr, ::std::string const& fileData, bool isBuiltinPack);
150
151 MCNAPI void _validateUICompositionDoc(
153 bool isBuiltinPack,
154 ::Puv::Logger& logger
155 );
156#endif
157 // NOLINTEND
158
159public:
160 // constructor thunks
161 // NOLINTBEGIN
162#ifdef LL_PLAT_C
163 MCNAPI void* $ctor(
164 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
165 ::ResourcePackManager& resourcePackManager
166 );
167#endif
168 // NOLINTEND
169
170public:
171 // destructor thunk
172 // NOLINTBEGIN
173 MCNAPI void $dtor();
174 // NOLINTEND
175
176public:
177 // virtual function thunks
178 // NOLINTBEGIN
179#ifdef LL_PLAT_C
180 MCNAPI void $onActiveResourcePacksChanged(::ResourcePackManager&);
181
182 MCNAPI void $onJsonResourcesChanged(::ResourcePackManager& resourcePackManager);
183
184 MCNAPI void $load(::ResourcePackManager const& resourcePackManager);
185
186 MCNAPI ::std::vector<::std::variant<
187 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
188 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
189 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
190 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
191 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
192 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
193 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
194 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
195 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
196 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
197 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
198 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
199 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
200 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
201 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>> const&
202 $getComposition(::std::string const& identifier) const;
203
204 MCNAPI ::std::vector<::std::variant<
205 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
206 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
207 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
208 $getRoot(::std::string const& identifier) const;
209
210 MCNAPI ::std::vector<::std::variant<
211 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
212 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
213 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
214 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
215 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
216 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
217 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
218 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
219 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
220 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
221 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
222 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
223 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
224 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
225 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>>>
226 $getExtensionPointContents(::std::string const& name) const;
227
228 MCNAPI ::Bedrock::PubSub::Subscription
229 $subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback);
230#endif
231
232
233 // NOLINTEND
234
235public:
236 // vftables
237 // NOLINTBEGIN
239
240 MCNAPI static void** $vftableForResourcePackListener();
241 // NOLINTEND
242};
Definition Subscription.h:10
static MCAPI void ** $vftableForResourcePackListener()
static MCAPI void ** $vftableForIDataDrivenUIRepository()
Definition IDataDrivenUIRepository.h:32
Definition Logger.h:12
Definition _HeaderOutputPredefine.h:296
Definition ResourceLoadManager.h:19
Definition ResourcePackListener.h:10
MCAPI void $onJsonResourcesChanged(::ResourcePackManager &resourcePackManager)
Definition ResourcePackManager.h:30
Definition Alias.h:14