3#include "mc/_HeaderOutputPredefine.h"
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"
18namespace Scripting {
class IRuntime; }
22namespace mce {
class UUID; }
25class ScriptPluginManager {
33 struct PackNameAndWeakScope {
43 PackNameAndWeakScope& operator=(PackNameAndWeakScope
const&);
44 PackNameAndWeakScope(PackNameAndWeakScope
const&);
45 PackNameAndWeakScope();
71 ScriptPluginManager& operator=(ScriptPluginManager
const&);
72 ScriptPluginManager(ScriptPluginManager
const&);
73 ScriptPluginManager();
93 ::ResourceInformation::ResourceType moduleType,
95 ::std::vector<::std::function<::ScriptModuleFilters::FilterResult(
100 )>>
const& moduleFilters,
101 ::std::vector<::mce::UUID> excludeModuleIDs,
102 ::std::function<::PluginExecutionGroup(::std::vector<::Scripting::ModuleDescriptor>
const&)>&&
103 pluginExecutionGroupSelector
112 MCNAPI ::std::vector<::ScriptPluginManager::PackNameAndWeakScope>
getPluginScopes()
const;
114 MCNAPI ::ScriptPluginManagerResult
runGroup(::PluginExecutionGroup group);
Definition IScriptPluginSourceEnumerator.h:10
Definition PackManifest.h:37
Definition ScriptPluginManagerResult.h:12
MCAPI void forEachPlugin(::std::function< void(::ScriptPlugin &)> func)
MCAPI::ScriptPluginManagerResult createContextsForGroup(::PluginExecutionGroup group)
MCAPI void _createPluginContext(::ScriptPlugin &plugin, ::ScriptPluginResult &pluginResult)
MCAPI void _runPlugin(::ScriptPlugin &plugin, ::ScriptPluginResult &pluginResult, ::Scripting::Privilege privilege)
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 ::std::vector<::ScriptPluginManager::PackNameAndWeakScope > getPluginScopes() const
MCAPI::Scripting::RuntimeStats collectRuntimeStats() const
MCAPI ~ScriptPluginManager()
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 ScriptPluginManager.h:33
MCAPI ~PackNameAndWeakScope()
Definition ModuleDescriptor.h:7
Definition RuntimeStats.h:7
Definition ScriptContextResult.h:7