Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ScriptPlugin.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/resource/PackIdVersion.h"
7#include "mc/deps/core/resource/PackOrigin.h"
8#include "mc/deps/core/resource/ResourceInformation.h"
9#include "mc/deps/script_core/runtime/scripting/IDependencyLoader.h"
10#include "mc/deps/script_core/runtime/scripting/IPrinter.h"
11#include "mc/deps/script_core/script_engine/scripting/Capabilities.h"
12#include "mc/deps/script_core/script_engine/scripting/ModuleDescriptor.h"
13#include "mc/deps/script_core/script_engine/scripting/ScriptContext.h"
14#include "mc/resources/MinEngineVersion.h"
15#include "mc/scripting/PluginExecutionGroup.h"
16#include "mc/scripting/ScriptRuntimeType.h"
17
18// auto generated forward declare list
19// clang-format off
23namespace Scripting { struct BaseError; }
24namespace Scripting { struct ContextId; }
25namespace Scripting { struct ScriptData; }
26// clang-format on
27
28class ScriptPlugin : public ::Scripting::IDependencyLoader, public ::Scripting::IPrinter {
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IScriptPluginSource>> mPluginSource;
33 ::ll::TypedStorage<8, 96, ::Scripting::ModuleDescriptor> mModuleDescriptor;
34 ::ll::TypedStorage<8, 24, ::std::vector<::Scripting::ModuleDescriptor>> mModuleDependencies;
35 ::ll::TypedStorage<1, 1, ::Scripting::Capabilities> mCapabilities;
36 ::ll::TypedStorage<8, 32, ::MinEngineVersion const> mMinEngineVersion;
37 ::ll::TypedStorage<8, 48, ::PackIdVersion> mPackId;
38 ::ll::TypedStorage<8, 32, ::std::string> mRuntimeName;
39 ::ll::TypedStorage<4, 4, ::ScriptRuntimeType> mRuntimeType;
40 ::ll::TypedStorage<8, 32, ::std::string> mRuntimeFileExt;
41 ::ll::TypedStorage<8, 32, ::std::string> mMainScriptFilePath;
42 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mScriptPaths;
43 ::ll::TypedStorage<8, 32, ::Scripting::ScriptContext> mContext;
44 ::ll::TypedStorage<1, 1, ::PackOrigin> mPackOrigin;
45 ::ll::TypedStorage<1, 1, ::PluginExecutionGroup const> mExecutionGroup;
46 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ScriptPluginHandleCounter>> mHandleCounter;
47 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Scripting::IPrinter>> mPrintLogger;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScriptSentryLogger>> mSentryLogger;
49 // NOLINTEND
50
51public:
52 // prevent constructor by default
53 ScriptPlugin();
54
55public:
56 // virtual functions
57 // NOLINTBEGIN
58 virtual ~ScriptPlugin() /*override*/ = default;
59
60 virtual ::std::optional<::Scripting::ScriptData> onLoadScript(::std::string const& name) /*override*/;
61
62 virtual void onInfo(::Scripting::ContextId contextId, ::std::string_view message) const /*override*/;
63
64 virtual void onWarn(::Scripting::ContextId contextId, ::std::string_view message) const /*override*/;
65
66 virtual void onError(::Scripting::ContextId contextId, ::std::string_view message) const /*override*/;
67
68 virtual void onException(
69 ::Scripting::ContextId contextId,
70 ::Scripting::BaseError const& error,
71 ::entt::meta_any const& errorAny
72 ) const /*override*/;
73
74 virtual bool shouldPrintException(
75 ::Scripting::ContextId contextId,
76 ::Scripting::BaseError const& error,
77 ::entt::meta_any const& errorAny
78 ) const /*override*/;
79
80 virtual void onPromiseRejection(
81 ::Scripting::ContextId contextId,
82 ::Scripting::BaseError const& error,
83 ::entt::meta_any const& errorAny,
84 bool isHandled
85 ) const /*override*/;
86 // NOLINTEND
87
88public:
89 // member functions
90 // NOLINTBEGIN
92 ::std::shared_ptr<::IScriptPluginSource> pluginSource,
94 ::std::vector<::Scripting::ModuleDescriptor>&& moduleDependencies,
95 ::Scripting::Capabilities&& capabilities,
96 ::MinEngineVersion const& minEngineVersion,
97 ::PackIdVersion const& packId,
98 ::PackOrigin packOrigin,
99 ::std::string const& runtimeName,
100 ::std::string const& mainScriptFilePath,
101 ::ResourceInformation::ResourceType pluginType,
102 ::PluginExecutionGroup executionGroup,
103 ::std::unique_ptr<::Scripting::IPrinter> printLogger
104 );
105
106 MCNAPI ::std::optional<::Scripting::ScriptData> _loadScript(::std::string const& fileName);
107
108 MCNAPI void enableHandleCounter(bool enabled);
109 // NOLINTEND
110
111public:
112 // constructor thunks
113 // NOLINTBEGIN
114 MCNAPI void* $ctor(
115 ::std::shared_ptr<::IScriptPluginSource> pluginSource,
117 ::std::vector<::Scripting::ModuleDescriptor>&& moduleDependencies,
118 ::Scripting::Capabilities&& capabilities,
119 ::MinEngineVersion const& minEngineVersion,
120 ::PackIdVersion const& packId,
121 ::PackOrigin packOrigin,
122 ::std::string const& runtimeName,
123 ::std::string const& mainScriptFilePath,
124 ::ResourceInformation::ResourceType pluginType,
125 ::PluginExecutionGroup executionGroup,
126 ::std::unique_ptr<::Scripting::IPrinter> printLogger
127 );
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133 MCNAPI ::std::optional<::Scripting::ScriptData> $onLoadScript(::std::string const& name);
134
135 MCNAPI void $onInfo(::Scripting::ContextId contextId, ::std::string_view message) const;
136
137 MCNAPI void $onWarn(::Scripting::ContextId contextId, ::std::string_view message) const;
138
139 MCNAPI void $onError(::Scripting::ContextId contextId, ::std::string_view message) const;
140
141 MCNAPI void $onException(
142 ::Scripting::ContextId contextId,
143 ::Scripting::BaseError const& error,
144 ::entt::meta_any const& errorAny
145 ) const;
146
148 ::Scripting::ContextId contextId,
149 ::Scripting::BaseError const& error,
150 ::entt::meta_any const& errorAny
151 ) const;
152
154 ::Scripting::ContextId contextId,
155 ::Scripting::BaseError const& error,
156 ::entt::meta_any const& errorAny,
157 bool isHandled
158 ) const;
159
160
161 // NOLINTEND
162};
Definition IScriptPluginSource.h:10
Definition MinEngineVersion.h:15
Definition ScriptPluginHandleCounter.h:15
MCAPI void enableHandleCounter(bool enabled)
MCAPI void $onInfo(::Scripting::ContextId contextId, ::std::string_view message) const
MCAPI void $onPromiseRejection(::Scripting::ContextId contextId, ::Scripting::BaseError const &error, ::entt::meta_any const &errorAny, bool isHandled) const
MCAPI bool $shouldPrintException(::Scripting::ContextId contextId, ::Scripting::BaseError const &error, ::entt::meta_any const &errorAny) const
MCAPI ::std::optional<::Scripting::ScriptData > _loadScript(::std::string const &fileName)
MCAPI void $onError(::Scripting::ContextId contextId, ::std::string_view message) const
MCAPI void $onWarn(::Scripting::ContextId contextId, ::std::string_view message) const
MCAPI ::std::optional<::Scripting::ScriptData > $onLoadScript(::std::string const &name)
MCAPI ScriptPlugin(::std::shared_ptr<::IScriptPluginSource > pluginSource, ::Scripting::ModuleDescriptor &&moduleDesc, ::std::vector<::Scripting::ModuleDescriptor > &&moduleDependencies, ::Scripting::Capabilities &&capabilities, ::MinEngineVersion const &minEngineVersion, ::PackIdVersion const &packId, ::PackOrigin packOrigin, ::std::string const &runtimeName, ::std::string const &mainScriptFilePath, ::ResourceInformation::ResourceType pluginType, ::PluginExecutionGroup executionGroup, ::std::unique_ptr<::Scripting::IPrinter > printLogger)
MCAPI void * $ctor(::std::shared_ptr<::IScriptPluginSource > pluginSource, ::Scripting::ModuleDescriptor &&moduleDesc, ::std::vector<::Scripting::ModuleDescriptor > &&moduleDependencies, ::Scripting::Capabilities &&capabilities, ::MinEngineVersion const &minEngineVersion, ::PackIdVersion const &packId, ::PackOrigin packOrigin, ::std::string const &runtimeName, ::std::string const &mainScriptFilePath, ::ResourceInformation::ResourceType pluginType, ::PluginExecutionGroup executionGroup, ::std::unique_ptr<::Scripting::IPrinter > printLogger)
MCAPI void $onException(::Scripting::ContextId contextId, ::Scripting::BaseError const &error, ::entt::meta_any const &errorAny) const
Definition ScriptSentryLogger.h:15
Definition IDependencyLoader.h:12
Definition IPrinter.h:13
Definition PackIdVersion.h:10
Definition BaseError.h:7
Definition Capabilities.h:7
Definition ContextId.h:7
Definition ModuleDescriptor.h:7
Definition ScriptData.h:7