LeviLamina
Loading...
Searching...
No Matches
GenericModuleBindingFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/scripting/binding_factory/IModuleBindingFactory.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace Scripting { class ModuleBindingBuilder; }
11namespace Scripting { struct ContextConfig; }
12namespace Scripting { struct ModuleBinding; }
13namespace Scripting { struct ModuleDependency; }
14namespace Scripting { struct Version; }
15namespace mce { class UUID; }
16// clang-format on
17
18namespace Scripting {
19
20class GenericModuleBindingFactory : public ::Scripting::IModuleBindingFactory {
21public:
22 // GenericModuleBindingFactory inner types declare
23 // clang-format off
24 struct ModuleData;
25 // clang-format on
26
27 // GenericModuleBindingFactory inner types define
28 struct ModuleData {
29 public:
30 // member variables
31 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 ModuleData& operator=(ModuleData const&);
42 ModuleData();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
48
49 MCNAPI ModuleData(
50 ::std::string _alias,
51 ::Scripting::Version&& _version,
52 ::std::function<::std::optional<::Scripting::ModuleBinding>(
54 ::std::optional<::Scripting::ContextConfig> const&
55 )>&& _moduleCreatorFn,
56 ::std::vector<::Scripting::ModuleDependency>&& _dependencies,
57 bool _importRestricted
58 );
59
60 MCNAPI ~ModuleData();
61 // NOLINTEND
62
63 public:
64 // constructor thunks
65 // NOLINTBEGIN
67
68 MCNAPI void* $ctor(
69 ::std::string _alias,
70 ::Scripting::Version&& _version,
71 ::std::function<::std::optional<::Scripting::ModuleBinding>(
73 ::std::optional<::Scripting::ContextConfig> const&
74 )>&& _moduleCreatorFn,
75 ::std::vector<::Scripting::ModuleDependency>&& _dependencies,
76 bool _importRestricted
77 );
78 // NOLINTEND
79
80 public:
81 // destructor thunk
82 // NOLINTBEGIN
83 MCNAPI void $dtor();
84 // NOLINTEND
85 };
86
87public:
88 // member variables
89 // NOLINTBEGIN
93 // NOLINTEND
94
95public:
96 // prevent constructor by default
97 GenericModuleBindingFactory& operator=(GenericModuleBindingFactory const&);
98 GenericModuleBindingFactory(GenericModuleBindingFactory const&);
99 GenericModuleBindingFactory();
100
101public:
102 // virtual functions
103 // NOLINTBEGIN
104 virtual ~GenericModuleBindingFactory() /*override*/;
105
106 virtual ::std::string getName() const /*override*/;
107
108 virtual ::mce::UUID getUUID() const /*override*/;
109
110 virtual bool hasAlias(::std::string const& alias) const /*override*/;
111
112 virtual ::std::vector<::Scripting::Version> getSupportedVersions() const /*override*/;
113
114 virtual ::std::vector<::Scripting::ModuleDependency> getDependencies(::Scripting::Version version) const
115 /*override*/;
116
117 virtual ::std::optional<::Scripting::ModuleBinding> createModuleBinding(
118 ::Scripting::Version version,
119 ::std::optional<::Scripting::ContextConfig> const& config,
120 bool requireDynamicImport
121 ) /*override*/;
122 // NOLINTEND
123
124public:
125 // member functions
126 // NOLINTBEGIN
127 MCNAPI GenericModuleBindingFactory(::std::string moduleName, ::mce::UUID moduleUUID);
128
130 ::std::vector<::Scripting::ModuleDependency>& dependencies,
131 ::Scripting::Version runtimeVersion
132 );
133
135 ::Scripting::Version version,
136 ::std::function<::std::optional<::Scripting::ModuleBinding>(
137 ::Scripting::ModuleBindingBuilder&,
138 ::std::optional<::Scripting::ContextConfig> const&
139 )> moduleCreatorFn,
140 ::Scripting::Version runtimeVersion,
141 ::std::vector<::Scripting::ModuleDependency> dependencies,
142 bool importRestricted
143 );
144
146 ::std::string alias,
147 ::Scripting::Version version,
148 ::std::function<::std::optional<::Scripting::ModuleBinding>(
149 ::Scripting::ModuleBindingBuilder&,
150 ::std::optional<::Scripting::ContextConfig> const&
151 )> moduleCreatorFn,
152 ::Scripting::Version runtimeVersion,
153 ::std::vector<::Scripting::ModuleDependency> dependencies,
154 bool importRestricted
155 );
156 // NOLINTEND
157
158public:
159 // constructor thunks
160 // NOLINTBEGIN
161 MCNAPI void* $ctor(::std::string moduleName, ::mce::UUID moduleUUID);
162 // NOLINTEND
163
164public:
165 // destructor thunk
166 // NOLINTBEGIN
167 MCNAPI void $dtor();
168 // NOLINTEND
169
170public:
171 // virtual function thunks
172 // NOLINTBEGIN
173 MCNAPI ::std::string $getName() const;
174
175 MCNAPI ::mce::UUID $getUUID() const;
176
177 MCNAPI bool $hasAlias(::std::string const& alias) const;
178
179 MCNAPI ::std::vector<::Scripting::Version> $getSupportedVersions() const;
180
181 MCNAPI ::std::vector<::Scripting::ModuleDependency> $getDependencies(::Scripting::Version version) const;
182
183 MCNAPI ::std::optional<::Scripting::ModuleBinding> $createModuleBinding(
184 ::Scripting::Version version,
185 ::std::optional<::Scripting::ContextConfig> const& config,
186 bool requireDynamicImport
187 );
188
189
190 // NOLINTEND
191
192public:
193 // vftables
194 // NOLINTBEGIN
195 MCNAPI static void** $vftable();
196 // NOLINTEND
197};
198
199} // namespace Scripting
MCAPI void addVersionedModuleBinding(::Scripting::Version version, ::std::function<::std::optional<::Scripting::ModuleBinding >(::Scripting::ModuleBindingBuilder &, ::std::optional<::Scripting::ContextConfig > const &)> moduleCreatorFn, ::Scripting::Version runtimeVersion, ::std::vector<::Scripting::ModuleDependency > dependencies, bool importRestricted)
MCAPI ::std::optional<::Scripting::ModuleBinding > $createModuleBinding(::Scripting::Version version, ::std::optional<::Scripting::ContextConfig > const &config, bool requireDynamicImport)
MCAPI::mce::UUID $getUUID() const
MCAPI ::std::vector<::Scripting::Version > $getSupportedVersions() const
MCAPI bool $hasAlias(::std::string const &alias) const
MCAPI::std::string $getName() const
MCAPI void * $ctor(::std::string moduleName, ::mce::UUID moduleUUID)
MCAPI void _addRuntimeDependency(::std::vector<::Scripting::ModuleDependency > &dependencies, ::Scripting::Version runtimeVersion)
MCAPI ::std::vector<::Scripting::ModuleDependency > $getDependencies(::Scripting::Version version) const
Definition IModuleBindingFactory.h:16
Definition ModuleBindingBuilder.h:31
Definition UUID.h:7
STL namespace.
Definition ContextConfig.h:20
Definition GenericModuleBindingFactory.h:28
MCAPI void * $ctor(::Scripting::GenericModuleBindingFactory::ModuleData const &)
MCAPI ModuleData(::std::string _alias, ::Scripting::Version &&_version, ::std::function<::std::optional<::Scripting::ModuleBinding >(::Scripting::ModuleBindingBuilder &, ::std::optional<::Scripting::ContextConfig > const &)> &&_moduleCreatorFn, ::std::vector<::Scripting::ModuleDependency > &&_dependencies, bool _importRestricted)
MCAPI void * $ctor(::std::string _alias, ::Scripting::Version &&_version, ::std::function<::std::optional<::Scripting::ModuleBinding >(::Scripting::ModuleBindingBuilder &, ::std::optional<::Scripting::ContextConfig > const &)> &&_moduleCreatorFn, ::std::vector<::Scripting::ModuleDependency > &&_dependencies, bool _importRestricted)
MCAPI ModuleData(::Scripting::GenericModuleBindingFactory::ModuleData const &)
Definition ModuleBinding.h:23
Definition ModuleDependency.h:14
Definition Version.h:7
Definition Alias.h:14