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/script_core/runtime/scripting/IDependencyLoader.h"
9#include "mc/deps/script_core/runtime/scripting/IPrinter.h"
10#include "mc/deps/script_core/script_engine/scripting/Capabilities.h"
11#include "mc/deps/script_core/script_engine/scripting/ModuleDescriptor.h"
12#include "mc/deps/script_core/script_engine/scripting/ScriptContext.h"
13#include "mc/resources/MinEngineVersion.h"
14#include "mc/scripting/PluginExecutionGroup.h"
15#include "mc/scripting/ScriptRuntimeType.h"
16
17// auto generated forward declare list
18// clang-format off
22namespace Scripting { struct BaseError; }
23namespace Scripting { struct ContextId; }
24namespace Scripting { struct ScriptData; }
25// clang-format on
26
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::IScriptPluginSource>> mPluginSource;
32 ::ll::TypedStorage<8, 96, ::Scripting::ModuleDescriptor> mModuleDescriptor;
33 ::ll::TypedStorage<8, 24, ::std::vector<::Scripting::ModuleDescriptor>> mModuleDependencies;
34 ::ll::TypedStorage<1, 1, ::Scripting::Capabilities> mCapabilities;
35 ::ll::TypedStorage<8, 32, ::MinEngineVersion const> mMinEngineVersion;
36 ::ll::TypedStorage<8, 48, ::PackIdVersion> mPackId;
37 ::ll::TypedStorage<8, 32, ::std::string> mRuntimeName;
38 ::ll::TypedStorage<4, 4, ::ScriptRuntimeType> mRuntimeType;
39 ::ll::TypedStorage<8, 32, ::std::string> mRuntimeFileExt;
40 ::ll::TypedStorage<8, 32, ::std::string> mMainScriptFilePath;
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mScriptPaths;
42 ::ll::TypedStorage<8, 32, ::Scripting::ScriptContext> mContext;
43 ::ll::TypedStorage<1, 1, ::PackOrigin> mPackOrigin;
44 ::ll::TypedStorage<1, 1, ::PluginExecutionGroup const> mExecutionGroup;
45 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ScriptPluginHandleCounter>> mHandleCounter;
46 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Scripting::IPrinter>> mPrintLogger;
47 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScriptSentryLogger>> mSentryLogger;
48 // NOLINTEND
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 virtual ~ScriptPlugin() /*override*/ = default;
54
55 virtual ::std::optional<::Scripting::ScriptData> onLoadScript(::std::string const& name) /*override*/;
56
57 virtual void onInfo(::Scripting::ContextId contextId, ::std::string_view message) const /*override*/;
58
59 virtual void onWarn(::Scripting::ContextId contextId, ::std::string_view message) const /*override*/;
60
61 virtual void onError(::Scripting::ContextId contextId, ::std::string_view message) const /*override*/;
62
63 virtual void onException(
64 ::Scripting::ContextId contextId,
65 ::Scripting::BaseError const& error,
66 ::entt::meta_any const& errorAny
67 ) const /*override*/;
68
69 virtual bool shouldPrintException(
70 ::Scripting::ContextId contextId,
71 ::Scripting::BaseError const& error,
72 ::entt::meta_any const& errorAny
73 ) const /*override*/;
74
75 virtual void onPromiseRejection(
76 ::Scripting::ContextId contextId,
77 ::Scripting::BaseError const& error,
78 ::entt::meta_any const& errorAny,
79 bool isHandled
80 ) const /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI ::std::optional<::Scripting::ScriptData> _loadScript(::std::string const& fileName);
87
88 MCAPI void enableHandleCounter(bool enabled);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI ::std::optional<::Scripting::ScriptData> $onLoadScript(::std::string const& name);
95
96 MCAPI void $onInfo(::Scripting::ContextId contextId, ::std::string_view message) const;
97
98 MCAPI void $onWarn(::Scripting::ContextId contextId, ::std::string_view message) const;
99
100 MCAPI void $onError(::Scripting::ContextId contextId, ::std::string_view message) const;
101
102 MCAPI void $onException(
103 ::Scripting::ContextId contextId,
104 ::Scripting::BaseError const& error,
105 ::entt::meta_any const& errorAny
106 ) const;
107
108 MCAPI bool $shouldPrintException(
109 ::Scripting::ContextId contextId,
110 ::Scripting::BaseError const& error,
111 ::entt::meta_any const& errorAny
112 ) const;
113
114 MCAPI void $onPromiseRejection(
115 ::Scripting::ContextId contextId,
116 ::Scripting::BaseError const& error,
117 ::entt::meta_any const& errorAny,
118 bool isHandled
119 ) const;
120
121
122 // NOLINTEND
123};
Definition IScriptPluginSource.h:10
Definition ScriptPluginHandleCounter.h:14
Definition ScriptPlugin.h:27
Definition ScriptSentryLogger.h:15
Definition IDependencyLoader.h:12
Definition IPrinter.h:13
Definition BaseError.h:7
Definition ContextId.h:7
Definition ScriptData.h:7