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 ModuleDescriptor; }
14namespace Scripting { struct UUID; }
15namespace Scripting { struct Version; }
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
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 ModuleData& operator=(ModuleData const&);
41 ModuleData(ModuleData const&);
42 ModuleData();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ModuleData(
48 ::std::string const& _alias,
49 ::Scripting::Version&& _version,
50 ::std::function<::std::optional<
51 ::Scripting::
52 ModuleBinding>(::Scripting::ModuleBindingBuilder&, ::std::optional<::Scripting::ContextConfig> const&)>&&
53 _moduleCreatorFn,
54 ::std::vector<::Scripting::ModuleDescriptor>&& _dependencies
55 );
56
57 MCAPI ~ModuleData();
58 // NOLINTEND
59
60 public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCAPI void* $ctor(
64 ::std::string const& _alias,
65 ::Scripting::Version&& _version,
66 ::std::function<::std::optional<
67 ::Scripting::
68 ModuleBinding>(::Scripting::ModuleBindingBuilder&, ::std::optional<::Scripting::ContextConfig> const&)>&&
69 _moduleCreatorFn,
70 ::std::vector<::Scripting::ModuleDescriptor>&& _dependencies
71 );
72 // NOLINTEND
73
74 public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCAPI void $dtor();
78 // NOLINTEND
79 };
80
81public:
82 // member variables
83 // NOLINTBEGIN
87 // NOLINTEND
88
89public:
90 // prevent constructor by default
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 // vIndex: 0
99 virtual ~GenericModuleBindingFactory() /*override*/;
100
101 // vIndex: 1
102 virtual ::std::string getName() const /*override*/;
103
104 // vIndex: 2
105 virtual ::Scripting::UUID getUUID() const /*override*/;
106
107 // vIndex: 3
108 virtual bool hasAlias(::std::string const& alias) const /*override*/;
109
110 // vIndex: 4
111 virtual ::std::vector<::Scripting::Version> getSupportedVersions() const /*override*/;
112
113 // vIndex: 5
114 virtual ::std::vector<::Scripting::ModuleDescriptor> getDependencies(::Scripting::Version version) const
115 /*override*/;
116
117 // vIndex: 6
118 virtual ::std::optional<::Scripting::ModuleBinding> createModuleBinding(
119 ::Scripting::Version version,
120 ::std::optional<::Scripting::ContextConfig> const& config
121 ) /*override*/;
122 // NOLINTEND
123
124public:
125 // member functions
126 // NOLINTBEGIN
127 MCAPI GenericModuleBindingFactory(::std::string name, ::Scripting::UUID uuid);
128
129 MCAPI void _addRuntimeDependency(
130 ::std::vector<::Scripting::ModuleDescriptor>& dependencies,
131 ::Scripting::Version runtimeVersion
132 );
133
134 MCAPI void addVersionedModuleBinding(
135 ::Scripting::Version version,
136 ::std::function<::std::optional<
137 ::Scripting::
138 ModuleBinding>(::Scripting::ModuleBindingBuilder&, ::std::optional<::Scripting::ContextConfig> const&)>
139 moduleCreatorFn,
140 ::Scripting::Version runtimeVersion,
141 ::std::vector<::Scripting::ModuleDescriptor> dependencies
142 );
143
144 MCAPI void addVersionedModuleBinding(
145 ::std::string alias,
146 ::Scripting::Version version,
147 ::std::function<::std::optional<
148 ::Scripting::
149 ModuleBinding>(::Scripting::ModuleBindingBuilder&, ::std::optional<::Scripting::ContextConfig> const&)>
150 moduleCreatorFn,
151 ::Scripting::Version runtimeVersion,
152 ::std::vector<::Scripting::ModuleDescriptor> dependencies
153 );
154 // NOLINTEND
155
156public:
157 // constructor thunks
158 // NOLINTBEGIN
159 MCAPI void* $ctor(::std::string name, ::Scripting::UUID uuid);
160 // NOLINTEND
161
162public:
163 // destructor thunk
164 // NOLINTBEGIN
165 MCAPI void $dtor();
166 // NOLINTEND
167
168public:
169 // virtual function thunks
170 // NOLINTBEGIN
171 MCFOLD ::std::string $getName() const;
172
173 MCAPI ::Scripting::UUID $getUUID() const;
174
175 MCAPI bool $hasAlias(::std::string const& alias) const;
176
177 MCAPI ::std::vector<::Scripting::Version> $getSupportedVersions() const;
178
179 MCAPI ::std::vector<::Scripting::ModuleDescriptor> $getDependencies(::Scripting::Version version) const;
180
181 MCAPI ::std::optional<::Scripting::ModuleBinding>
182 $createModuleBinding(::Scripting::Version version, ::std::optional<::Scripting::ContextConfig> const& config);
183 // NOLINTEND
184
185public:
186 // vftables
187 // NOLINTBEGIN
188 MCAPI static void** $vftable();
189 // NOLINTEND
190};
191
192} // namespace Scripting
Definition GenericModuleBindingFactory.h:20
Definition IModuleBindingFactory.h:16
Definition ModuleBindingBuilder.h:30
STL namespace.
Definition ContextConfig.h:7
Definition GenericModuleBindingFactory.h:28
Definition ModuleBinding.h:7
Definition ModuleDescriptor.h:7
Definition UUID.h:7
Definition Version.h:7
Definition Alias.h:14