LeviLamina
Loading...
Searching...
No Matches
IModuleBindingFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace Scripting { struct ContextConfig; }
8namespace Scripting { struct ModuleBinding; }
9namespace Scripting { struct ModuleDependency; }
10namespace Scripting { struct Version; }
11namespace mce { class UUID; }
12// clang-format on
13
14namespace Scripting {
15
17public:
18 // virtual functions
19 // NOLINTBEGIN
20 virtual ~IModuleBindingFactory() = default;
21
22 virtual ::std::string getName() const = 0;
23
24 virtual ::mce::UUID getUUID() const = 0;
25
26 virtual bool hasAlias(::std::string const&) const = 0;
27
28 virtual ::std::vector<::Scripting::Version> getSupportedVersions() const = 0;
29
30 virtual ::std::vector<::Scripting::ModuleDependency> getDependencies(::Scripting::Version) const = 0;
31
32 virtual ::std::optional<::Scripting::ModuleBinding>
33 createModuleBinding(::Scripting::Version, ::std::optional<::Scripting::ContextConfig> const&, bool) = 0;
34 // NOLINTEND
35
36public:
37 // virtual function thunks
38 // NOLINTBEGIN
39
40 // NOLINTEND
41
42public:
43 // vftables
44 // NOLINTBEGIN
45 MCNAPI static void** $vftable();
46 // NOLINTEND
47};
48
49} // namespace Scripting
Definition IModuleBindingFactory.h:16
static MCAPI void ** $vftable()
Definition UUID.h:7
Definition ContextConfig.h:20
Definition ModuleBinding.h:23
Definition ModuleDependency.h:12
Definition Version.h:7