LeviLamina
Loading...
Searching...
No Matches
NativeRuntime.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/script_core/lifetime_registry/scripting/TypedObjectHandle.h"
7#include "mc/deps/script_core/reflection/scripting/Privilege.h"
8#include "mc/deps/script_core/runtime/scripting/FutureStatus.h"
9#include "mc/deps/script_core/runtime/scripting/IRuntime.h"
10#include "mc/deps/script_core/runtime/scripting/Result_deprecated.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace Scripting { class IBreakpointValidator; }
15namespace Scripting { class IDebuggerController; }
16namespace Scripting { class IDebuggerTransport; }
17namespace Scripting { class IDependencyLoader; }
18namespace Scripting { class IPayload; }
19namespace Scripting { class IPrinter; }
20namespace Scripting { class IWatchdog; }
21namespace Scripting { class ResultAny; }
22namespace Scripting { class ScriptContext; }
23namespace Scripting { struct ClosureType; }
24namespace Scripting { struct CoRoutineResult; }
25namespace Scripting { struct ContextConfig; }
26namespace Scripting { struct ContextId; }
27namespace Scripting { struct FutureType; }
28namespace Scripting { struct ModuleBindingBundle; }
29namespace Scripting { struct PromiseType; }
30namespace Scripting { struct RuntimeStats; }
31namespace Scripting { struct TypeNameInfo; }
32namespace Scripting { struct WatchdogSettings; }
33// clang-format on
34
35namespace Scripting {
36
37class NativeRuntime : public ::Scripting::IRuntime, public ::std::enable_shared_from_this<::Scripting::NativeRuntime> {
38public:
39 // member variables
40 // NOLINTBEGIN
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 NativeRuntime& operator=(NativeRuntime const&);
48 NativeRuntime(NativeRuntime const&);
49 NativeRuntime();
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ~NativeRuntime() /*override*/ = default;
55
56 virtual ::std::optional<::Scripting::ScriptContext> createContext(
59 ::Scripting::IPrinter* printer,
61 ) /*override*/;
62
63 virtual void destroyContext(::Scripting::ContextId contextId) /*override*/;
64
65 virtual ::Scripting::ResultAny
66 run(::Scripting::ContextId contextId,
67 ::Scripting::IPayload* payload,
68 ::std::optional<::Scripting::Privilege> privilege) /*override*/;
69
70 virtual ::Scripting::ResultAny call(
73 ::entt::meta_any*,
74 uint,
75 ::entt::meta_type const&,
76 ::std::optional<::Scripting::Privilege>
77 ) /*override*/;
78
79 virtual ::Scripting::ResultAny resolve(
82 ::entt::meta_any&
83 ) /*override*/;
84
85 virtual ::Scripting::ResultAny reject(
88 ::entt::meta_any&
89 ) /*override*/;
90
91 virtual ::Scripting::FutureStatus
93 /*override*/;
94
95 virtual ::Scripting::ResultAny getFutureResult(
98 ::entt::meta_type const&
99 ) const /*override*/;
100
101 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
102 executeCoroutines(::std::optional<::Scripting::Privilege>) /*override*/;
103
104 virtual bool hasPendingJobs() /*override*/;
105
106 virtual ::Scripting::IDebuggerController*
108
109 virtual void disableDebugger() /*override*/;
110
111 virtual void startProfiler() /*override*/;
112
113 virtual void stopProfiler(
114 ::std::function<void(::std::string_view)>,
115 ::std::optional<::std::reference_wrapper<::std::string const>>
116 ) /*override*/;
117
118 virtual ::Scripting::RuntimeStats computeRuntimeStats() const /*override*/;
119
120 virtual ::Scripting::IWatchdog* enableWatchdog(::Scripting::WatchdogSettings) /*override*/;
121
122 virtual void disableWatchdog() /*override*/;
123
124 virtual ::Scripting::IWatchdog* getWatchdog() const /*override*/;
125
126 virtual ::std::optional<::Scripting::TypeNameInfo>
127 getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const /*override*/;
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133#ifdef LL_PLAT_S
134 MCNAPI ::std::optional<::Scripting::ScriptContext> $createContext(
137 ::Scripting::IPrinter* printer,
139 );
140
141 MCNAPI void $destroyContext(::Scripting::ContextId contextId);
142
143 MCNAPI ::Scripting::ResultAny $run(
144 ::Scripting::ContextId contextId,
145 ::Scripting::IPayload* payload,
146 ::std::optional<::Scripting::Privilege> privilege
147 );
148
149 MCNAPI ::Scripting::ResultAny $call(
152 ::entt::meta_any*,
153 uint,
154 ::entt::meta_type const&,
155 ::std::optional<::Scripting::Privilege>
156 );
157
158 MCNAPI ::Scripting::ResultAny
160
161 MCNAPI ::Scripting::ResultAny
163
164 MCNAPI ::Scripting::FutureStatus
166
167 MCNAPI ::Scripting::ResultAny $getFutureResult(
170 ::entt::meta_type const&
171 ) const;
172
173 MCNAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
174 $executeCoroutines(::std::optional<::Scripting::Privilege>);
175
176 MCNAPI bool $hasPendingJobs();
177
178 MCNAPI ::Scripting::IDebuggerController*
180
181 MCNAPI void $disableDebugger();
182
183 MCNAPI void $startProfiler();
184
185 MCNAPI void $stopProfiler(
186 ::std::function<void(::std::string_view)>,
187 ::std::optional<::std::reference_wrapper<::std::string const>>
188 );
189
190 MCNAPI ::Scripting::RuntimeStats $computeRuntimeStats() const;
191
192 MCNAPI ::Scripting::IWatchdog* $enableWatchdog(::Scripting::WatchdogSettings);
193
194 MCNAPI void $disableWatchdog();
195
196 MCNAPI ::Scripting::IWatchdog* $getWatchdog() const;
197
198 MCNAPI ::std::optional<::Scripting::TypeNameInfo>
199 $getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const;
200#endif
201
202
203 // NOLINTEND
204};
205
206} // namespace Scripting
Definition IBreakpointValidator.h:7
Definition IDebuggerController.h:7
Definition IDebuggerTransport.h:7
Definition IDependencyLoader.h:12
Definition IPayload.h:18
Definition IPrinter.h:13
Definition IRuntime.h:37
Definition IWatchdog.h:13
Definition ResultAny.h:7
Definition ScriptContext.h:19
Definition ClosureType.h:7
Definition CoRoutineResult.h:7
Definition ContextConfig.h:20
Definition ContextId.h:7
Definition FutureType.h:7
Definition ModuleBindingBundle.h:15
Definition PromiseType.h:7
Definition RuntimeStats.h:7
Definition TypeNameInfo.h:7
Definition TypedObjectHandle.h:8
Definition WatchdogSettings.h:7
Definition Alias.h:14