Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
IDataDrivenUIRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/resources/IStyleTextureInfoProvider.h"
8
9// auto generated forward declare list
10// clang-format off
12namespace Bedrock::PubSub { class Subscription; }
13namespace SharedTypes::Beta::DataDrivenUI::Styling { struct Style; }
14namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerFixedGridLayout; }
15namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerLayout; }
16namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContainerTextField; }
17namespace SharedTypes::v1_21_130::DataDrivenUI { struct Context; }
18namespace SharedTypes::v1_21_130::DataDrivenUI { struct ContextList; }
19namespace SharedTypes::v1_21_130::DataDrivenUI { struct ExtensionPoint; }
20namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormButton; }
21namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormCloseButton; }
22namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormDivider; }
23namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormDropdown; }
24namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormHorizontalStack; }
25namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormImage; }
26namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormPanel; }
27namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormScrollView; }
28namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSlider; }
29namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSpacing; }
30namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormSwitch; }
31namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormText; }
32namespace SharedTypes::v1_21_130::DataDrivenUI { struct FormTextField; }
33namespace SharedTypes::v1_21_130::DataDrivenUI { struct Panel; }
34namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelCloseButton; }
35namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelDecoration; }
36namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelSpacing; }
37namespace SharedTypes::v1_21_130::DataDrivenUI { struct PanelText; }
38namespace SharedTypes::v1_21_130::DataDrivenUI { struct ScrollableGridLayout; }
39namespace SharedTypes::v1_21_130::DataDrivenUI { struct Visibility; }
40namespace mce { class UUID; }
42// clang-format on
43
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~IDataDrivenUIRepository() /*override*/ = default;
49
50 virtual void setStyleTextureInfoProvider(::IStyleTextureInfoProvider& styleTextureInfoProvider) = 0;
51
52 virtual void load(::ResourcePackManager const& resourcePackManager, bool const betaApis) = 0;
53
54 virtual bool hasRootDefinition(::std::string const& identifier) const = 0;
55
56 virtual ::std::vector<::std::variant<
57 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
58 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerTextField>,
59 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
60 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
61 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormCloseButton>,
62 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
63 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
64 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormImage>,
65 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
66 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
67 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSpacing>,
68 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
69 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormText>,
70 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormTextField>,
71 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelCloseButton>,
72 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelDecoration>,
73 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelSpacing>,
74 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContextList>,
75 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ScrollableGridLayout>,
76 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
77 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>,
78 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormHorizontalStack>>> const&
79 getComposition(::std::string const& identifier) const = 0;
80
81 virtual ::mce::UUID const& getCompositionPackId(::std::string const& identifier) const = 0;
82
83 virtual ::std::vector<::std::variant<
84 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerLayout>,
85 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Context>,
86 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormPanel>,
87 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Panel>>> const&
88 getRoot(::std::string const& identifier) const = 0;
89
90 virtual ::mce::UUID const& getRootPackId(::std::string const& identifier) const = 0;
91
92 virtual void getStyles(::std::vector<::SharedTypes::Beta::DataDrivenUI::Styling::Style>& styles) const = 0;
93
94 virtual ::std::vector<::std::variant<
95 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerFixedGridLayout>,
96 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ContainerTextField>,
97 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::ExtensionPoint>,
98 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormButton>,
99 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormCloseButton>,
100 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDivider>,
101 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormDropdown>,
102 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormImage>,
103 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormScrollView>,
104 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSlider>,
105 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSpacing>,
106 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormSwitch>,
107 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormText>,
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::ScrollableGridLayout>,
114 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::PanelText>,
115 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::Visibility>,
116 ::std::shared_ptr<::SharedTypes::v1_21_130::DataDrivenUI::FormHorizontalStack>>>
117 getExtensionPointContents(::std::string const& name) const = 0;
118
119 virtual ::Bedrock::PubSub::Subscription
120 subscribeToOnCompositionsReloadedAsync(::std::function<void()>&& onCompositionsReloadedAsyncCallback) = 0;
121
122 virtual ::std::optional<::IStyleTextureInfoProvider::Info>
123 getStyleTextureInfo(::std::string_view texturePath) const = 0;
124 // NOLINTEND
125};
Definition EnableNonOwnerReferences.h:7
Definition Subscription.h:10
Definition IDataDrivenUIRepository.h:44
Definition IStyleTextureInfoProvider.h:5
Definition ResourcePackManager.h:29
Definition UUID.h:8