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 ObjectFactory; }
21namespace Scripting { struct TaggedBinding; }
22namespace Scripting { struct TypeMapData; }
23namespace Scripting { struct Version; }
24namespace mce { class UUID; }
25// clang-format on
26
27namespace Scripting {
28
30public:
31 // ModuleBindingBuilder inner types declare
32 // clang-format off
33 struct BuilderData;
34 // clang-format on
35
36 // ModuleBindingBuilder inner types define
37 struct BuilderData {
38 public:
39 // member variables
40 // 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 ::mce::UUID uuid,
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& enumBinding(::Scripting::EnumBinding&& enumBinding);
154
155 MCNAPI ::Scripting::ModuleBindingBuilder& errorBinding(::Scripting::ErrorBinding&& errorBinding);
156
157 MCNAPI ::Scripting::ModuleBindingBuilder& interfaceBinding(::Scripting::InterfaceBinding&& interfaceBinding);
158
160 // NOLINTEND
161
162public:
163 // static functions
164 // NOLINTBEGIN
167 ::std::string const& name,
168 ::Scripting::TaggedBinding const& binding
169 );
170
173 ::std::string const& name,
174 ::Scripting::TaggedBinding const& binding
175 );
176
178 ::Scripting::ModuleBinding const& moduleBinding,
179 ::std::string const& name,
180 ::Scripting::TaggedBinding const& binding
181 );
182
183 MCNAPI static void _validateClassConstructors(::Scripting::ModuleBinding const& moduleBinding);
184
185 MCNAPI static void _validateModuleNames(::Scripting::ModuleBinding const& moduleBinding);
186 // NOLINTEND
187
188public:
189 // static variables
190 // NOLINTBEGIN
191 MCNAPI static ::Scripting::ConstantFactory& mEmptyConstantFactory();
192
193 MCNAPI static ::Scripting::FunctionBinding& mEmptyFunctionBinding();
194
195 MCNAPI static ::Scripting::ObjectFactory& mEmptyObjectFactory();
196 // NOLINTEND
197
198public:
199 // constructor thunks
200 // NOLINTBEGIN
201 MCNAPI void*
202 $ctor(::mce::UUID uuid, ::std::string const& name, ::Scripting::Version const& version, bool importRestricted);
203 // NOLINTEND
204
205public:
206 // destructor thunk
207 // NOLINTBEGIN
208 MCNAPI void $dtor();
209 // NOLINTEND
210};
211
212} // namespace Scripting
Definition ModuleBindingBuilder.h:29
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)
MCAPI void * $ctor(::mce::UUID uuid, ::std::string const &name, ::Scripting::Version const &version, bool importRestricted)
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::Scripting::ModuleBindingBuilder & classBinding(::Scripting::ClassBinding &&classBinding)
MCAPI ModuleBindingBuilder(::mce::UUID uuid, ::std::string const &name, ::Scripting::Version const &version, bool importRestricted)
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::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
Definition RuntimeConditions.h:12
Definition TypeMapBuilder.h:15
Definition UUID.h:7
Definition ClassBinding.h:19
Definition EnumBinding.h:15
Definition ErrorBinding.h:15
Definition InterfaceBinding.h:16
Definition ModuleBindingBuilder.h:37
MCAPI::Scripting::ModuleBindingBuilder::BuilderData & operator=(::Scripting::ModuleBindingBuilder::BuilderData &&)
Definition ModuleBinding.h:23
Definition TaggedBinding.h:13
Definition Version.h:7
Definition Alias.h:14