56 DataDrivenUIRepository& operator=(DataDrivenUIRepository
const&);
57 DataDrivenUIRepository(DataDrivenUIRepository
const&);
58 DataDrivenUIRepository();
64 virtual ~DataDrivenUIRepository() =
default;
66 virtual ~DataDrivenUIRepository() ;
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 ;
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 ;
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
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 ;
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 ;
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 ;
174 virtual ::Bedrock::PubSub::Subscription
175 subscribeToOnCompositionsReloadedAsync(::std::function<
void()>&&) ;
177 virtual ::Bedrock::PubSub::Subscription
178 subscribeToOnCompositionsReloadedAsync(::std::function<
void()>&& onCompositionsReloadedAsyncCallback) ;
187 MCNAPI DataDrivenUIRepository(
188 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
192 MCNAPI
void _collectExtensionPoints();
194 MCNAPI
void _initializeLoaders(
208 MCNAPI
bool _isExtensionPointDefined(::std::string
const& name)
const;
213 _parseAndLoadUICompositionData(
char const* filenameStr, ::std::string
const& fileData,
bool isBuiltinPack);
215 MCNAPI
void _parseAndLoadUIRootData(
char const* filenameStr, ::std::string
const& fileData,
bool isBuiltinPack);
217 MCNAPI
void _validateUICompositionDoc(
230 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
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;
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;
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;
294 MCNAPI ::Bedrock::PubSub::Subscription
295 $subscribeToOnCompositionsReloadedAsync(::std::function<
void()>&& onCompositionsReloadedAsyncCallback);