LeviLamina
Loading...
Searching...
No Matches
FacetRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/interface/FacetRegistryLocation.h"
7#include "mc/client/gui/oreui/interface/IFacetRegistry.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace OreUI { class FacetBinder; }
13namespace OreUI { class IFacet; }
14// clang-format on
15
16namespace OreUI {
17
18class FacetRegistry : public ::OreUI::IFacetRegistry {
19public:
20 // FacetRegistry inner types declare
21 // clang-format off
22 struct FacetPrototype;
23 struct FacetEntry;
24 // clang-format on
25
26 // FacetRegistry inner types define
27 struct FacetPrototype {
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 32, ::std::string const> name;
32 ::ll::TypedStorage<8, 64, ::std::function<::std::unique_ptr<::OreUI::IFacet>()> const> constructor;
33 // NOLINTEND
34
35 public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI ~FacetPrototype();
39 // NOLINTEND
40
41 public:
42 // destructor thunk
43 // NOLINTBEGIN
44 MCFOLD void $dtor();
45 // NOLINTEND
46 };
47
48 struct FacetEntry {
49 public:
50 // member variables
51 // NOLINTBEGIN
52 ::ll::TypedStorage<8, 32, ::std::string> name;
53 ::ll::TypedStorage<8, 32, ::std::string> id;
54 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::IFacet>> facet;
55 ::ll::TypedStorage<1, 1, bool> isSuspended;
56 // NOLINTEND
57
58 public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI ~FacetEntry();
62 // NOLINTEND
63
64 public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCAPI void $dtor();
68 // NOLINTEND
69 };
70
71public:
72 // member variables
73 // NOLINTBEGIN
74 ::ll::TypedStorage<4, 4, ::OreUI::FacetRegistryLocation> mLocation;
75 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mUpdatingFacets;
76 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::FacetRegistry::FacetEntry>> mFacets;
77 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::FacetRegistry::FacetPrototype>> mFacetPrototypes;
78 // NOLINTEND
79
80public:
81 // virtual functions
82 // NOLINTBEGIN
83 virtual ~FacetRegistry() /*override*/;
84
85 virtual void registerFacet(
86 ::std::string const& name,
87 ::std::function<::std::unique_ptr<::OreUI::IFacet>()> const& constructor
88 ) /*override*/;
89
90 virtual ::std::optional<::OreUI::IFacetRegistry::Error> activateFacet(
91 ::OreUI::FacetBinder& binder,
92 ::std::string const& name,
93 ::std::string const& id,
94 ::std::unordered_map<::std::string, ::std::variant<double, bool, ::std::string>> const& payload
95 ) /*override*/;
96
97 virtual ::std::optional<::OreUI::IFacetRegistry::Error>
98 deactivateFacet(::OreUI::FacetBinder& binder, ::std::string const& id) /*override*/;
99
100 virtual void clearAllFacets() /*override*/;
101
102 virtual void suspendAllFacets() /*override*/;
103
104 virtual void bind(::OreUI::FacetBinder& binder) /*override*/;
105
106 virtual ::std::vector<::std::string> const& update(::OreUI::FacetBinder& binder) /*override*/;
107
108 virtual ::std::unordered_map<::std::string, ::Bedrock::NotNullNonOwnerPtr<::OreUI::IFacet>>
109 getActiveFacets() /*override*/;
110 // NOLINTEND
111
112public:
113 // destructor thunk
114 // NOLINTBEGIN
115 MCAPI void $dtor();
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCAPI void
122 $registerFacet(::std::string const& name, ::std::function<::std::unique_ptr<::OreUI::IFacet>()> const& constructor);
123
124 MCAPI ::std::optional<::OreUI::IFacetRegistry::Error> $activateFacet(
125 ::OreUI::FacetBinder& binder,
126 ::std::string const& name,
127 ::std::string const& id,
128 ::std::unordered_map<::std::string, ::std::variant<double, bool, ::std::string>> const& payload
129 );
130
131 MCAPI ::std::optional<::OreUI::IFacetRegistry::Error>
132 $deactivateFacet(::OreUI::FacetBinder& binder, ::std::string const& id);
133
134 MCAPI void $clearAllFacets();
135
136 MCAPI void $suspendAllFacets();
137
138 MCAPI void $bind(::OreUI::FacetBinder& binder);
139
140 MCAPI ::std::vector<::std::string> const& $update(::OreUI::FacetBinder& binder);
141
142 MCAPI ::std::unordered_map<::std::string, ::Bedrock::NotNullNonOwnerPtr<::OreUI::IFacet>> $getActiveFacets();
143 // NOLINTEND
144
145public:
146 // vftables
147 // NOLINTBEGIN
148 MCNAPI static void** $vftable();
149 // NOLINTEND
150};
151
152} // namespace OreUI
Definition FacetBinder.h:7
Definition FacetRegistry.h:7
static MCAPI void ** $vftable()
Definition IFacet.h:7
Definition FacetRegistry.h:18
Definition FacetRegistry.h:16