LeviLamina
Loading...
Searching...
No Matches
ModuleBindingBuilder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/binding_type/EnumBinding.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Scripting { class Release; }
11namespace Scripting { class RuntimeConditions; }
12namespace Scripting { class TypeMapBuilder; }
13namespace Scripting { struct ClassBinding; }
14namespace Scripting { struct ConstantFactory; }
15namespace Scripting { struct EnumBinding; }
16namespace Scripting { struct ErrorBinding; }
17namespace Scripting { struct FunctionBinding; }
18namespace Scripting { struct InterfaceBinding; }
19namespace Scripting { struct ModuleBinding; }
20namespace Scripting { struct ModuleDependency; }
21namespace Scripting { struct ObjectFactory; }
22namespace Scripting { struct TaggedBinding; }
23namespace Scripting { struct TypeMapData; }
24namespace Scripting { struct UUID; }
25namespace Scripting { struct Version; }
26// clang-format on
27
28namespace Scripting {
29
31public:
32 // ModuleBindingBuilder inner types declare
33 // clang-format off
34 struct BuilderData;
35 // clang-format on
36
37 // ModuleBindingBuilder inner types define
38 struct BuilderData {
39 public:
40 // member variables
41 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 BuilderData& operator=(BuilderData const&);
60
61 public:
62 // member functions
63 // NOLINTBEGIN
64 MCNAPI ::Scripting::ModuleBindingBuilder::BuilderData&
66
67 MCNAPI ~BuilderData();
68 // NOLINTEND
69
70 public:
71 // destructor thunk
72 // NOLINTBEGIN
73 MCNAPI void $dtor();
74 // NOLINTEND
75 };
76
77public:
78 // member variables
79 // NOLINTBEGIN
81 // NOLINTEND
82
83public:
84 // prevent constructor by default
88
89public:
90 // member functions
91 // NOLINTBEGIN
93 ::Scripting::UUID const& id,
94 ::std::string const& name,
95 ::Scripting::Version const& version,
96 bool importRestricted
97 );
98
99 MCNAPI bool _allowed(
100 ::std::vector<::Scripting::Release> const& releases,
101 bool allowUntagged,
102 ::std::vector<::std::string> const& additionalTags
103 ) const;
104
105 MCNAPI ::std::vector<::Scripting::ClassBinding> _filterClassBindings(
106 ::std::vector<::Scripting::ClassBinding> const& classBindings,
107 bool allowUntagged,
108 ::std::vector<::std::string> const& additionalTags
109 ) const;
110
111 MCNAPI ::std::vector<::Scripting::EnumBinding> _filterEnumBindings(
112 ::std::vector<::Scripting::EnumBinding> const& enumBindings,
113 bool allowUntagged,
114 ::std::vector<::std::string> const& additionalTags
115 ) const;
116
117 MCNAPI ::std::vector<::Scripting::EnumBinding::EnumValue> _filterEnumValueMap(
118 ::std::vector<::Scripting::ConstantFactory> const& filteredConstants,
119 ::std::vector<::Scripting::EnumBinding::EnumValue> const& valueMap
120 ) const;
121
122 MCNAPI ::std::vector<::Scripting::ErrorBinding> _filterErrorBindings(
123 ::std::vector<::Scripting::ErrorBinding> const& errorBindings,
124 bool allowUnreleased,
125 ::std::vector<::std::string> const& allowedTags
126 ) const;
127
128 MCNAPI ::std::vector<::Scripting::InterfaceBinding> _filterInterfaceBindings(
129 ::std::vector<::Scripting::InterfaceBinding> const& interfaceBindings,
130 bool allowUntagged,
131 ::std::vector<::std::string> const& additionalTags
132 ) const;
133
134 MCNAPI ::std::vector<::Scripting::TypeMapData> _filterTypeMaps(
135 ::std::vector<::Scripting::TypeMapData> const& typeMaps,
136 bool allowUntagged,
137 ::std::vector<::std::string> const& additionalTags
138 ) const;
139
140 MCNAPI ::std::vector<::Scripting::ClassBinding>
141 _orderClassBindingsByDependency(::std::vector<::Scripting::ClassBinding>& unorderedBindings) const;
142
143 MCNAPI ::Scripting::ModuleBinding build(
144 bool allowUntagged,
145 ::std::vector<::std::string> const& additionalTags,
146 ::Scripting::RuntimeConditions const& currentRuntimeConditions
147 );
148
149 MCNAPI ::Scripting::ModuleBindingBuilder& classBinding(::Scripting::ClassBinding&& classBinding);
150
151 MCNAPI ::Scripting::ModuleBindingBuilder& createTypeMap(::Scripting::TypeMapBuilder& typeMapBuilder);
152
153 MCNAPI ::Scripting::ModuleBindingBuilder& dependency(::std::vector<::Scripting::ModuleDependency> const& modules);
154
155 MCNAPI ::Scripting::ModuleBindingBuilder& enumBinding(::Scripting::EnumBinding&& enumBinding);
156
157 MCNAPI ::Scripting::ModuleBindingBuilder& errorBinding(::Scripting::ErrorBinding&& errorBinding);
158
159 MCNAPI ::Scripting::ModuleBindingBuilder& interfaceBinding(::Scripting::InterfaceBinding&& interfaceBinding);
160
162 // NOLINTEND
163
164public:
165 // static functions
166 // NOLINTBEGIN
169 ::std::string const& name,
170 ::Scripting::TaggedBinding const& binding
171 );
172
175 ::std::string const& name,
176 ::Scripting::TaggedBinding const& binding
177 );
178
180 ::Scripting::ModuleBinding const& moduleBinding,
181 ::std::string const& name,
182 ::Scripting::TaggedBinding const& binding
183 );
184
185 MCNAPI static void _validateClassConstructors(::Scripting::ModuleBinding const& moduleBinding);
186
187 MCNAPI static void _validateModuleNames(::Scripting::ModuleBinding const& moduleBinding);
188 // NOLINTEND
189
190public:
191 // static variables
192 // NOLINTBEGIN
193 MCNAPI static ::Scripting::ConstantFactory& mEmptyConstantFactory();
194
195 MCNAPI static ::Scripting::FunctionBinding& mEmptyFunctionBinding();
196
197 MCNAPI static ::Scripting::ObjectFactory& mEmptyObjectFactory();
198 // NOLINTEND
199
200public:
201 // constructor thunks
202 // NOLINTBEGIN
203 MCNAPI void* $ctor(
204 ::Scripting::UUID const& id,
205 ::std::string const& name,
206 ::Scripting::Version const& version,
207 bool importRestricted
208 );
209 // NOLINTEND
210
211public:
212 // destructor thunk
213 // NOLINTBEGIN
214 MCNAPI void $dtor();
215 // NOLINTEND
216};
217
218} // namespace Scripting
Definition ModuleBindingBuilder.h:30
MCAPI ::std::vector<::Scripting::EnumBinding > _filterEnumBindings(::std::vector<::Scripting::EnumBinding > const &enumBindings, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI::Scripting::ModuleBindingBuilder & enumBinding(::Scripting::EnumBinding &&enumBinding)
MCAPI::Scripting::ModuleBindingBuilder & createTypeMap(::Scripting::TypeMapBuilder &typeMapBuilder)
static MCAPI bool _assertEnumMemberSymbolDoNotExist(::Scripting::EnumBinding const &enumBinding, ::std::string const &name, ::Scripting::TaggedBinding const &binding)
static MCAPI bool _assertModuleMemberSymbolDoNotExist(::Scripting::ModuleBinding const &moduleBinding, ::std::string const &name, ::Scripting::TaggedBinding const &binding)
MCAPI bool _allowed(::std::vector<::Scripting::Release > const &releases, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
static MCAPI ::Scripting::ConstantFactory & mEmptyConstantFactory()
static MCAPI bool _assertClassMemberSymbolDoNotExist(::Scripting::ClassBinding const &classBinding, ::std::string const &name, ::Scripting::TaggedBinding const &binding)
MCAPI::Scripting::ModuleBindingBuilder & errorBinding(::Scripting::ErrorBinding &&errorBinding)
MCAPI ::std::vector<::Scripting::ClassBinding > _filterClassBindings(::std::vector<::Scripting::ClassBinding > const &classBindings, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI ModuleBindingBuilder(::Scripting::UUID const &id, ::std::string const &name, ::Scripting::Version const &version, bool importRestricted)
MCAPI::Scripting::ModuleBindingBuilder & classBinding(::Scripting::ClassBinding &&classBinding)
MCAPI ::std::vector<::Scripting::TypeMapData > _filterTypeMaps(::std::vector<::Scripting::TypeMapData > const &typeMaps, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI ::std::vector<::Scripting::EnumBinding::EnumValue > _filterEnumValueMap(::std::vector<::Scripting::ConstantFactory > const &filteredConstants, ::std::vector<::Scripting::EnumBinding::EnumValue > const &valueMap) const
static MCAPI void _validateClassConstructors(::Scripting::ModuleBinding const &moduleBinding)
static MCAPI ::Scripting::ObjectFactory & mEmptyObjectFactory()
MCAPI ::std::vector<::Scripting::ErrorBinding > _filterErrorBindings(::std::vector<::Scripting::ErrorBinding > const &errorBindings, bool allowUnreleased, ::std::vector<::std::string > const &allowedTags) const
MCAPI ::std::vector<::Scripting::ClassBinding > _orderClassBindingsByDependency(::std::vector<::Scripting::ClassBinding > &unorderedBindings) const
MCAPI::Scripting::ModuleBindingBuilder & interfaceBinding(::Scripting::InterfaceBinding &&interfaceBinding)
static MCAPI void _validateModuleNames(::Scripting::ModuleBinding const &moduleBinding)
static MCAPI ::Scripting::FunctionBinding & mEmptyFunctionBinding()
MCAPI void * $ctor(::Scripting::UUID const &id, ::std::string const &name, ::Scripting::Version const &version, bool importRestricted)
MCAPI::Scripting::ModuleBinding build(bool allowUntagged, ::std::vector<::std::string > const &additionalTags, ::Scripting::RuntimeConditions const &currentRuntimeConditions)
MCAPI ::std::vector<::Scripting::InterfaceBinding > _filterInterfaceBindings(::std::vector<::Scripting::InterfaceBinding > const &interfaceBindings, bool allowUntagged, ::std::vector<::std::string > const &additionalTags) const
MCAPI::Scripting::ModuleBindingBuilder & dependency(::std::vector<::Scripting::ModuleDependency > const &modules)
Definition RuntimeConditions.h:12
Definition TypeMapBuilder.h:15
Definition ClassBinding.h:19
Definition EnumBinding.h:15
Definition ErrorBinding.h:15
Definition InterfaceBinding.h:16
Definition ModuleBindingBuilder.h:38
MCAPI::Scripting::ModuleBindingBuilder::BuilderData & operator=(::Scripting::ModuleBindingBuilder::BuilderData &&)
Definition ModuleBinding.h:21
Definition TaggedBinding.h:13
Definition UUID.h:7
Definition Version.h:7
Definition Alias.h:14