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& alias) const = 0;
27
28 virtual ::std::vector<::Scripting::Version> getSupportedVersions() const = 0;
29
30 virtual ::std::vector<::Scripting::ModuleDependency> getDependencies(::Scripting::Version version) const = 0;
31
32 virtual ::std::optional<::Scripting::ModuleBinding> createModuleBinding(
34 ::std::optional<::Scripting::ContextConfig> const& config,
35 bool requireDynamicImport
36 ) = 0;
37 // NOLINTEND
38
39public:
40 // virtual function thunks
41 // NOLINTBEGIN
42
43 // NOLINTEND
44
45public:
46 // vftables
47 // NOLINTBEGIN
48 MCNAPI static void** $vftable();
49 // NOLINTEND
50};
51
52} // 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