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
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
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 // vIndex: 0
94 virtual ~GenericModuleBindingFactory() /*override*/;
95
96 // vIndex: 1
97 virtual ::std::string getName() const /*override*/;
98
99 // vIndex: 2
100 virtual ::mce::UUID getUUID() const /*override*/;
101
102 // vIndex: 3
103 virtual bool hasAlias(::std::string const& alias) const /*override*/;
104
105 // vIndex: 4
106 virtual ::std::vector<::Scripting::Version> getSupportedVersions() const /*override*/;
107
108 // vIndex: 5
109 virtual ::std::vector<::Scripting::ModuleDependency> getDependencies(::Scripting::Version version) const
110 /*override*/;
111
112 // vIndex: 6
113 virtual ::std::optional<::Scripting::ModuleBinding> createModuleBinding(
114 ::Scripting::Version version,
115 ::std::optional<::Scripting::ContextConfig> const& config
116 ) /*override*/;
117 // NOLINTEND
118
119public:
120 // member functions
121 // NOLINTBEGIN
122 MCNAPI GenericModuleBindingFactory(::std::string moduleName, ::mce::UUID moduleUUID);
123
125 ::std::vector<::Scripting::ModuleDependency>& dependencies,
126 ::Scripting::Version runtimeVersion
127 );
128
130 ::Scripting::Version version,
131 ::std::function<::std::optional<::Scripting::ModuleBinding>(
132 ::Scripting::ModuleBindingBuilder&,
133 ::std::optional<::Scripting::ContextConfig> const&
134 )> moduleCreatorFn,
135 ::Scripting::Version runtimeVersion,
136 ::std::vector<::Scripting::ModuleDependency> dependencies,
137 bool importRestricted
138 );
139
141 ::std::string alias,
142 ::Scripting::Version version,
143 ::std::function<::std::optional<::Scripting::ModuleBinding>(
144 ::Scripting::ModuleBindingBuilder&,
145 ::std::optional<::Scripting::ContextConfig> const&
146 )> moduleCreatorFn,
147 ::Scripting::Version runtimeVersion,
148 ::std::vector<::Scripting::ModuleDependency> dependencies,
149 bool importRestricted
150 );
151 // NOLINTEND
152
153public:
154 // constructor thunks
155 // NOLINTBEGIN
156 MCNAPI void* $ctor(::std::string moduleName, ::mce::UUID moduleUUID);
157 // NOLINTEND
158
159public:
160 // destructor thunk
161 // NOLINTBEGIN
162 MCNAPI void $dtor();
163 // NOLINTEND
164
165public:
166 // virtual function thunks
167 // NOLINTBEGIN
168 MCNAPI ::std::string $getName() const;
169
170 MCNAPI ::mce::UUID $getUUID() const;
171
172 MCNAPI bool $hasAlias(::std::string const& alias) const;
173
174 MCNAPI ::std::vector<::Scripting::Version> $getSupportedVersions() const;
175
176 MCNAPI ::std::vector<::Scripting::ModuleDependency> $getDependencies(::Scripting::Version version) const;
177
178 MCNAPI ::std::optional<::Scripting::ModuleBinding>
179 $createModuleBinding(::Scripting::Version version, ::std::optional<::Scripting::ContextConfig> const& config);
180 // NOLINTEND
181
182public:
183 // vftables
184 // NOLINTBEGIN
185 MCNAPI static void** $vftable();
186 // NOLINTEND
187};
188
189} // namespace Scripting
Definition GenericModuleBindingFactory.h:20
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::mce::UUID $getUUID() const
MCAPI ::std::vector<::Scripting::Version > $getSupportedVersions() const
MCAPI ::std::optional<::Scripting::ModuleBinding > $createModuleBinding(::Scripting::Version version, ::std::optional<::Scripting::ContextConfig > const &config)
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:29
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