LeviLamina
Loading...
Searching...
No Matches
ScriptPluginManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/resource/ResourceInformation.h"
7#include "mc/deps/scripting/reflection/Privilege.h"
8#include "mc/scripting/PluginExecutionGroup.h"
9
10// auto generated forward declare list
11// clang-format off
13class PackManifest;
15class ScriptPlugin;
18struct ModuleIdentifier;
19struct PackIdVersion;
20namespace Scripting { class IRuntime; }
21namespace Scripting { struct ModuleDescriptor; }
22namespace Scripting { struct RuntimeStats; }
23namespace Scripting { struct ScriptContextResult; }
24// clang-format on
25
27public:
28 // ScriptPluginManager inner types declare
29 // clang-format off
31 // clang-format on
32
33 // ScriptPluginManager inner types define
35 public:
36 // member variables
37 // NOLINTBEGIN
40 // NOLINTEND
41
42 public:
43 // prevent constructor by default
47
48 public:
49 // member functions
50 // NOLINTBEGIN
52 // NOLINTEND
53
54 public:
55 // destructor thunk
56 // NOLINTBEGIN
57 MCFOLD void $dtor();
58 // NOLINTEND
59 };
60
61public:
62 // member variables
63 // NOLINTBEGIN
69 // NOLINTEND
70
71public:
72 // prevent constructor by default
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCAPI void _addContextResultsToPluginResults(
81 ::Scripting::ScriptContextResult const& contextResult,
82 ::ScriptPluginResult& pluginResult
83 );
84
85 MCAPI void _createPluginContext(::ScriptPlugin& plugin, ::ScriptPluginResult& pluginResult);
86
87 MCAPI ::std::vector<::Scripting::ModuleDescriptor> _generateModuleDependencies(
88 ::std::vector<::ModuleIdentifier> const& moduleDeps,
89 ::std::vector<::PackIdVersion> const& packDeps
90 ) const;
91
92 MCAPI void _runPlugin(::ScriptPlugin& plugin, ::ScriptPluginResult& pluginResult, ::Scripting::Privilege privilege);
93
94 MCAPI ::Scripting::RuntimeStats collectRuntimeStats() const;
95
96 MCAPI ::ScriptPluginManagerResult createContextsForGroup(::PluginExecutionGroup group);
97
98 MCAPI ::ScriptPluginManagerResult discoverPlugins(
99 ::ResourceInformation::ResourceType pluginEnumerator,
100 ::IScriptPluginSourceEnumerator& packConfigManager,
101 ::ScriptPackConfigurationManager const& moduleFilters,
102 ::std::vector<::std::function<
104 excludeModuleIDs,
105 ::std::vector<::std::string> pluginExecutionGroupSelector,
106 ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor> const&)>&& moduleType
107 );
108
109 MCAPI void forEachPlugin(::std::function<void(::ScriptPlugin&)> func);
110
111 MCAPI void forEachRuntime(::std::function<void(::Scripting::IRuntime&)> func);
112
113 MCAPI ::std::vector<::ScriptPluginManager::PackNameAndWeakScope> getPluginScopes() const;
114
115 MCAPI ::ScriptPluginManagerResult runGroup(::PluginExecutionGroup group);
116
117 MCAPI ~ScriptPluginManager();
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCAPI void $dtor();
124 // NOLINTEND
125};
Definition IScriptPluginSourceEnumerator.h:10
Definition PackManifest.h:19
Definition ScriptPackConfigurationManager.h:16
Definition ScriptPluginManagerResult.h:12
Definition ScriptPluginManager.h:26
Definition ScriptPluginResult.h:11
Definition ScriptPlugin.h:21
Definition IRuntime.h:36
Definition ModuleIdentifier.h:5
Definition PackIdVersion.h:14
Definition ScriptPluginManager.h:34
Definition ModuleDescriptor.h:7
Definition ScriptContextResult.h:7
Definition Alias.h:14