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#include "mc/scripting/modules/FilterResult.h"
10
11// auto generated forward declare list
12// clang-format off
13class BaseGameVersion;
15class PackCapability;
16class PackManifest;
17class ScriptPlugin;
20namespace Scripting { class IRuntime; }
21namespace Scripting { class RuntimeConditions; }
22namespace Scripting { class ScriptEngine; }
23namespace Scripting { struct ContextId; }
24namespace Scripting { struct ModuleDescriptor; }
25namespace Scripting { struct RuntimeStats; }
26namespace Scripting { struct ScriptContextResult; }
27namespace mce { class UUID; }
28// clang-format on
29
30class ScriptPluginManager {
31public:
32 // ScriptPluginManager inner types declare
33 // clang-format off
35 // clang-format on
36
37 // ScriptPluginManager inner types define
38 struct PackNameAndWeakScope {
39 public:
40 // member variables
41 // NOLINTBEGIN
44 // NOLINTEND
45
46 public:
47 // prevent constructor by default
48 PackNameAndWeakScope& operator=(PackNameAndWeakScope const&);
49 PackNameAndWeakScope(PackNameAndWeakScope const&);
50 PackNameAndWeakScope();
51
52 public:
53 // member functions
54 // NOLINTBEGIN
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCNAPI void $dtor();
62 // NOLINTEND
63 };
64
65public:
66 // member variables
67 // NOLINTBEGIN
72 // NOLINTEND
73
74public:
75 // prevent constructor by default
76 ScriptPluginManager& operator=(ScriptPluginManager const&);
77 ScriptPluginManager(ScriptPluginManager const&);
78 ScriptPluginManager();
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCNAPI ScriptPluginManager(::BaseGameVersion const& baseGameVersion, ::Scripting::ScriptEngine& scriptEngine);
84
86 ::Scripting::ScriptContextResult const& contextResult,
87 ::ScriptPluginResult& pluginResult
88 );
89
90 MCNAPI void _createPluginContext(::ScriptPlugin& plugin, ::ScriptPluginResult& pluginResult);
91
92 MCNAPI void
93 _runPlugin(::ScriptPlugin& plugin, ::ScriptPluginResult& pluginResult, ::Scripting::Privilege privilege);
94
95 MCNAPI ::Scripting::RuntimeStats collectRuntimeStats() const;
96
97#ifdef LL_PLAT_C
98 MCNAPI ::ScriptPluginManagerResult createContextAll();
99#endif
100
101 MCNAPI ::ScriptPluginManagerResult createContextsForGroup(::PluginExecutionGroup group);
102
103 MCNAPI ::ScriptPluginManagerResult discoverPlugins(
104 ::ResourceInformation::ResourceType moduleType,
105 ::IScriptPluginSourceEnumerator& pluginEnumerator,
106 ::std::vector<::std::function<::ScriptModuleFilters::FilterResult(
107 ::PackManifest const&,
111 )>> const& moduleFilters,
112 ::std::vector<::mce::UUID> excludeModuleIDs,
113 ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor> const&)>&&
114 pluginExecutionGroupSelector
115 );
116
117 MCNAPI void forEachPlugin(::std::function<void(::ScriptPlugin&)> func);
118
119 MCNAPI void forEachRuntime(::std::function<void(::Scripting::IRuntime&)> func);
120
121 MCNAPI ::ScriptPlugin* getPluginByContextId(::Scripting::ContextId const& contextId);
122
123 MCNAPI ::ScriptPlugin* getPluginByModuleUuid(::mce::UUID const& moduleUUID);
124
125 MCNAPI ::std::vector<::Scripting::ModuleDescriptor> getPluginModuleDescriptors() const;
126
127 MCNAPI ::std::vector<::ScriptPluginManager::PackNameAndWeakScope> getPluginScopes() const;
128
129 MCNAPI ::std::vector<::std::unique_ptr<::ScriptPlugin>>& getPlugins();
130
131 MCNAPI void releaseAll();
132
133#ifdef LL_PLAT_C
134 MCNAPI ::ScriptPluginManagerResult runAll();
135#endif
136
137 MCNAPI ::ScriptPluginManagerResult runGroup(::PluginExecutionGroup group);
138
139 MCNAPI void setCurrentRuntimeConditions(::Scripting::RuntimeConditions const& currentRuntimeConditions);
140
142 // NOLINTEND
143
144public:
145 // static functions
146 // NOLINTBEGIN
147 MCNAPI static ::PackCapability getPackCapability();
148 // NOLINTEND
149
150public:
151 // constructor thunks
152 // NOLINTBEGIN
153 MCNAPI void* $ctor(::BaseGameVersion const& baseGameVersion, ::Scripting::ScriptEngine& scriptEngine);
154 // NOLINTEND
155
156public:
157 // destructor thunk
158 // NOLINTBEGIN
159 MCNAPI void $dtor();
160 // NOLINTEND
161};
Definition BaseGameVersion.h:13
Definition IScriptPluginSourceEnumerator.h:10
Definition PackCapability.h:5
Definition PackManifest.h:38
Definition ScriptPluginManagerResult.h:12
MCAPI void forEachPlugin(::std::function< void(::ScriptPlugin &)> func)
MCAPI::ScriptPluginManagerResult createContextsForGroup(::PluginExecutionGroup group)
MCAPI::ScriptPlugin * getPluginByContextId(::Scripting::ContextId const &contextId)
MCAPI void _createPluginContext(::ScriptPlugin &plugin, ::ScriptPluginResult &pluginResult)
MCAPI ScriptPluginManager(::BaseGameVersion const &baseGameVersion, ::Scripting::ScriptEngine &scriptEngine)
MCAPI void _runPlugin(::ScriptPlugin &plugin, ::ScriptPluginResult &pluginResult, ::Scripting::Privilege privilege)
MCAPI ::std::vector<::std::unique_ptr<::ScriptPlugin > > & getPlugins()
MCAPI void $dtor()
MCAPI::ScriptPluginManagerResult discoverPlugins(::ResourceInformation::ResourceType moduleType, ::IScriptPluginSourceEnumerator &pluginEnumerator, ::std::vector<::std::function<::ScriptModuleFilters::FilterResult(::PackManifest const &, ::Scripting::ModuleDescriptor const &, ::Scripting::ModuleDescriptor const &, ::ScriptPluginResult &)> > const &moduleFilters, ::std::vector<::mce::UUID > excludeModuleIDs, ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor > const &)> &&pluginExecutionGroupSelector)
MCAPI::ScriptPlugin * getPluginByModuleUuid(::mce::UUID const &moduleUUID)
MCAPI ::std::vector<::ScriptPluginManager::PackNameAndWeakScope > getPluginScopes() const
MCAPI::Scripting::RuntimeStats collectRuntimeStats() const
MCAPI void * $ctor(::BaseGameVersion const &baseGameVersion, ::Scripting::ScriptEngine &scriptEngine)
MCAPI void setCurrentRuntimeConditions(::Scripting::RuntimeConditions const &currentRuntimeConditions)
MCAPI void releaseAll()
MCAPI ~ScriptPluginManager()
static MCAPI ::PackCapability getPackCapability()
MCAPI void _addContextResultsToPluginResults(::Scripting::ScriptContextResult const &contextResult, ::ScriptPluginResult &pluginResult)
MCAPI ::std::vector<::Scripting::ModuleDescriptor > getPluginModuleDescriptors() const
MCAPI void forEachRuntime(::std::function< void(::Scripting::IRuntime &)> func)
MCAPI::ScriptPluginManagerResult runGroup(::PluginExecutionGroup group)
Definition ScriptPluginResult.h:11
Definition ScriptPlugin.h:27
Definition IRuntime.h:37
Definition RuntimeConditions.h:12
Definition ScriptEngine.h:22
Definition UUID.h:7
Definition ScriptPluginManager.h:38
Definition ContextId.h:7
Definition ModuleDescriptor.h:7
Definition RuntimeStats.h:7
Definition ScriptContextResult.h:7
Definition Alias.h:14