62 DataDrivenUIRepository& operator=(DataDrivenUIRepository
const&);
63 DataDrivenUIRepository(DataDrivenUIRepository
const&);
64 DataDrivenUIRepository();
69 virtual ~DataDrivenUIRepository() =
default;
77 virtual bool hasRootDefinition(::std::string
const& identifier)
const ;
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 ;
100 virtual ::mce::UUID
const& getCompositionPackId(::std::string
const& identifier)
const ;
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 ;
108 virtual ::mce::UUID
const& getRootPackId(::std::string
const& identifier)
const ;
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 ;
131 virtual ::Bedrock::PubSub::Subscription
132 subscribeToOnCompositionsReloadedAsync(::std::function<
void()>&& onCompositionsReloadedAsyncCallback) ;
139 MCNAPI DataDrivenUIRepository(
140 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
145 MCNAPI
void _initializeLoaders(
158 bool const isBuiltinPack
161 MCNAPI
bool _parseAndLoadUICompositionData(
162 char const* filenameStr,
163 ::std::string
const& fileData,
164 bool const isBuiltinPack,
169 MCNAPI
bool _parseAndLoadUIRootData(
170 char const* filenameStr,
171 ::std::string
const& fileData,
172 bool const isBuiltinPack,
184 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
201 MCNAPI
bool $hasRootDefinition(::std::string
const& identifier)
const;
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;
224 MCNAPI ::mce::UUID
const& $getCompositionPackId(::std::string
const& identifier)
const;
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;
232 MCNAPI ::mce::UUID
const& $getRootPackId(::std::string
const& identifier)
const;
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;
255 MCNAPI ::Bedrock::PubSub::Subscription
256 $subscribeToOnCompositionsReloadedAsync(::std::function<
void()>&& onCompositionsReloadedAsyncCallback);