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(ModuleData const&);
43 ModuleData();
44
45 public:
46 // member functions
47 // NOLINTBEGIN
48 MCNAPI ModuleData(
49 ::std::string _alias,
50 ::Scripting::Version&& _version,
51 ::std::function<::std::optional<::Scripting::ModuleBinding>(
53 ::std::optional<::Scripting::ContextConfig> const&
54 )>&& _moduleCreatorFn,
55 ::std::vector<::Scripting::ModuleDependency>&& _dependencies,
56 bool _importRestricted
57 );
58 // NOLINTEND
59
60 public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCNAPI void* $ctor(
64 ::std::string _alias,
65 ::Scripting::Version&& _version,
66 ::std::function<::std::optional<::Scripting::ModuleBinding>(
68 ::std::optional<::Scripting::ContextConfig> const&
69 )>&& _moduleCreatorFn,
70 ::std::vector<::Scripting::ModuleDependency>&& _dependencies,
71 bool _importRestricted
72 );
73 // NOLINTEND
74 };
75
76public:
77 // member variables
78 // NOLINTBEGIN
82 // NOLINTEND
83
84public:
85 // prevent constructor by default
86 GenericModuleBindingFactory& operator=(GenericModuleBindingFactory const&);
87 GenericModuleBindingFactory(GenericModuleBindingFactory const&);
88 GenericModuleBindingFactory();
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 virtual ~GenericModuleBindingFactory() /*override*/;
94
95 virtual ::std::string getName() const /*override*/;
96
97 virtual ::mce::UUID getUUID() const /*override*/;
98
99 virtual bool hasAlias(::std::string const& alias) const /*override*/;
100
101 virtual ::std::vector<::Scripting::Version> getSupportedVersions() const /*override*/;
102
103 virtual ::std::vector<::Scripting::ModuleDependency> getDependencies(::Scripting::Version version) const
104 /*override*/;
105
106 virtual ::std::optional<::Scripting::ModuleBinding> createModuleBinding(
107 ::Scripting::Version version,
108 ::std::optional<::Scripting::ContextConfig> const& config,
109 bool requireDynamicImport
110 ) /*override*/;
111 // NOLINTEND
112
113public:
114 // member functions
115 // NOLINTBEGIN
116 MCNAPI GenericModuleBindingFactory(::std::string moduleName, ::mce::UUID moduleUUID);
117
119 ::std::vector<::Scripting::ModuleDependency>& dependencies,
120 ::Scripting::Version runtimeVersion
121 );
122
124 ::Scripting::Version version,
125 ::std::function<::std::optional<::Scripting::ModuleBinding>(
126 ::Scripting::ModuleBindingBuilder&,
127 ::std::optional<::Scripting::ContextConfig> const&
128 )> moduleCreatorFn,
129 ::Scripting::Version runtimeVersion,
130 ::std::vector<::Scripting::ModuleDependency> dependencies,
131 bool importRestricted
132 );
133
135 ::std::string alias,
136 ::Scripting::Version version,
137 ::std::function<::std::optional<::Scripting::ModuleBinding>(
138 ::Scripting::ModuleBindingBuilder&,
139 ::std::optional<::Scripting::ContextConfig> const&
140 )> moduleCreatorFn,
141 ::Scripting::Version runtimeVersion,
142 ::std::vector<::Scripting::ModuleDependency> dependencies,
143 bool importRestricted
144 );
145 // NOLINTEND
146
147public:
148 // constructor thunks
149 // NOLINTBEGIN
150 MCNAPI void* $ctor(::std::string moduleName, ::mce::UUID moduleUUID);
151 // NOLINTEND
152
153public:
154 // destructor thunk
155 // NOLINTBEGIN
156 MCNAPI void $dtor();
157 // NOLINTEND
158
159public:
160 // virtual function thunks
161 // NOLINTBEGIN
162 MCNAPI ::std::string $getName() const;
163
164 MCNAPI ::mce::UUID $getUUID() const;
165
166 MCNAPI bool $hasAlias(::std::string const& alias) const;
167
168 MCNAPI ::std::vector<::Scripting::Version> $getSupportedVersions() const;
169
170 MCNAPI ::std::vector<::Scripting::ModuleDependency> $getDependencies(::Scripting::Version version) const;
171
172 MCNAPI ::std::optional<::Scripting::ModuleBinding> $createModuleBinding(
173 ::Scripting::Version version,
174 ::std::optional<::Scripting::ContextConfig> const& config,
175 bool requireDynamicImport
176 );
177
178
179 // NOLINTEND
180
181public:
182 // vftables
183 // NOLINTBEGIN
184 MCNAPI static void** $vftable();
185 // NOLINTEND
186};
187
188} // 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:27
Definition UUID.h:7
STL namespace.
Definition ContextConfig.h:20
Definition GenericModuleBindingFactory.h:28
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)
Definition ModuleBinding.h:23
Definition ModuleDependency.h:12
Definition Version.h:7
Definition Alias.h:14