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/scripting/lifetime_registry/TypedObjectHandle.h"
7#include "mc/deps/scripting/reflection/Privilege.h"
8#include "mc/deps/scripting/runtime/FutureStatus.h"
9#include "mc/deps/scripting/runtime/IRuntime.h"
10#include "mc/deps/scripting/runtime/Result_deprecated.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace Scripting { class IDebuggerController; }
15namespace Scripting { class IDebuggerTransport; }
16namespace Scripting { class IDependencyLoader; }
17namespace Scripting { class IPayload; }
18namespace Scripting { class IPrinter; }
19namespace Scripting { class IWatchdog; }
20namespace Scripting { class RegistryManager; }
21namespace Scripting { class ResultAny; }
22namespace Scripting { class ScriptContext; }
23namespace Scripting { class WeakLifetimeScope; }
24namespace Scripting { struct ClosureType; }
25namespace Scripting { struct CoRoutineResult; }
26namespace Scripting { struct ContextConfig; }
27namespace Scripting { struct ContextId; }
28namespace Scripting { struct FutureType; }
29namespace Scripting { struct ModuleBindingBundle; }
30namespace Scripting { struct PromiseType; }
31namespace Scripting { struct RuntimeStats; }
32namespace Scripting { struct TypeNameInfo; }
33namespace Scripting { struct WatchdogSettings; }
34// clang-format on
35
36namespace Scripting {
37
38class NativeRuntime : public ::Scripting::IRuntime, public ::std::enable_shared_from_this<::Scripting::NativeRuntime> {
39public:
40 // member variables
41 // NOLINTBEGIN
44 // NOLINTEND
45
46public:
47 // prevent constructor by default
48 NativeRuntime& operator=(NativeRuntime const&);
51
52public:
53 // virtual functions
54 // NOLINTBEGIN
55 // vIndex: 0
56 virtual ~NativeRuntime() /*override*/ = default;
57
58 // vIndex: 3
59 virtual ::std::optional<::Scripting::ScriptContext> createContext(
62 ::Scripting::IPrinter* printer,
64 ) /*override*/;
65
66 // vIndex: 4
67 virtual void destroyContext(::Scripting::ContextId contextId) /*override*/;
68
69 // vIndex: 5
70 virtual ::Scripting::ResultAny
71 run(::Scripting::ContextId contextId,
72 ::Scripting::IPayload* payload,
73 ::std::optional<::Scripting::Privilege> privilege) /*override*/;
74
75 // vIndex: 6
76 virtual ::Scripting::ResultAny call(
79 ::entt::meta_any*,
80 uint,
81 ::entt::meta_type const&,
82 ::std::optional<::Scripting::Privilege>
83 ) /*override*/;
84
85 // vIndex: 7
86 virtual ::Scripting::ResultAny resolve(
89 ::entt::meta_any&
90 ) /*override*/;
91
92 // vIndex: 8
93 virtual ::Scripting::ResultAny reject(
96 ::entt::meta_any&
97 ) /*override*/;
98
99 // vIndex: 9
100 virtual ::Scripting::FutureStatus
102 /*override*/;
103
104 // vIndex: 10
105 virtual ::Scripting::ResultAny getFutureResult(
108 ::entt::meta_type const&
109 ) const /*override*/;
110
111 // vIndex: 11
112 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult> executeCoroutines(
113 ::std::optional<::std::chrono::microseconds>,
114 ::std::optional<::Scripting::Privilege>
115 ) /*override*/;
116
117 // vIndex: 12
118 virtual bool hasPendingJobs() /*override*/;
119
120 // vIndex: 13
121 virtual ::Scripting::IDebuggerController* enableDebugger(::Scripting::IDebuggerTransport&) /*override*/;
122
123 // vIndex: 14
124 virtual void disableDebugger() /*override*/;
125
126 // vIndex: 15
127 virtual void startProfiler() /*override*/;
128
129 // vIndex: 16
130 virtual void stopProfiler(
131 ::std::function<void(::std::string_view)>,
132 ::std::optional<::std::reference_wrapper<::std::string const>>
133 ) /*override*/;
134
135 // vIndex: 17
136 virtual ::Scripting::RuntimeStats computeRuntimeStats() const /*override*/;
137
138 // vIndex: 18
139 virtual ::Scripting::IWatchdog* enableWatchdog(::Scripting::WatchdogSettings) /*override*/;
140
141 // vIndex: 19
142 virtual void disableWatchdog() /*override*/;
143
144 // vIndex: 20
145 virtual ::Scripting::IWatchdog* getWatchdog() const /*override*/;
146
147 // vIndex: 21
148 virtual ::std::optional<::Scripting::TypeNameInfo>
149 getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const /*override*/;
150 // NOLINTEND
151
152public:
153 // member functions
154 // NOLINTBEGIN
155 MCNAPI explicit NativeRuntime(::Scripting::RegistryManager& registryManager);
156
157 MCNAPI ::Scripting::ResultAny runFunction(
158 ::Scripting::ContextId contextId,
159 ::std::function<::Scripting::ResultAny(
166 )> const& function
167 );
168 // NOLINTEND
169
170public:
171 // constructor thunks
172 // NOLINTBEGIN
173 MCNAPI void* $ctor(::Scripting::RegistryManager& registryManager);
174 // NOLINTEND
175
176public:
177 // virtual function thunks
178 // NOLINTBEGIN
179 MCNAPI ::std::optional<::Scripting::ScriptContext> $createContext(
182 ::Scripting::IPrinter* printer,
184 );
185
187
188 MCNAPI ::Scripting::ResultAny $run(
189 ::Scripting::ContextId contextId,
190 ::Scripting::IPayload* payload,
191 ::std::optional<::Scripting::Privilege> privilege
192 );
193
194 MCNAPI ::Scripting::ResultAny $call(
197 ::entt::meta_any*,
198 uint,
199 ::entt::meta_type const&,
200 ::std::optional<::Scripting::Privilege>
201 );
202
203 MCNAPI ::Scripting::ResultAny
205
206 MCNAPI ::Scripting::ResultAny
208
209 MCNAPI ::Scripting::FutureStatus
211
212 MCNAPI ::Scripting::ResultAny $getFutureResult(
215 ::entt::meta_type const&
216 ) const;
217
218 MCNAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
219 $executeCoroutines(::std::optional<::std::chrono::microseconds>, ::std::optional<::Scripting::Privilege>);
220
221 MCNAPI bool $hasPendingJobs();
222
223 MCNAPI ::Scripting::IDebuggerController* $enableDebugger(::Scripting::IDebuggerTransport&);
224
225 MCNAPI void $disableDebugger();
226
227 MCNAPI void $startProfiler();
228
229 MCNAPI void $stopProfiler(
230 ::std::function<void(::std::string_view)>,
231 ::std::optional<::std::reference_wrapper<::std::string const>>
232 );
233
234 MCNAPI ::Scripting::RuntimeStats $computeRuntimeStats() const;
235
236 MCNAPI ::Scripting::IWatchdog* $enableWatchdog(::Scripting::WatchdogSettings);
237
238 MCNAPI void $disableWatchdog();
239
240 MCNAPI ::Scripting::IWatchdog* $getWatchdog() const;
241
242 MCNAPI ::std::optional<::Scripting::TypeNameInfo>
243 $getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const;
244 // NOLINTEND
245
246public:
247 // vftables
248 // NOLINTBEGIN
249 MCNAPI static void** $vftable();
250 // NOLINTEND
251};
252
253} // namespace Scripting
Definition IDebuggerTransport.h:7
Definition IDependencyLoader.h:12
Definition IPayload.h:18
Definition IPrinter.h:13
Definition IRuntime.h:36
Definition NativeRuntime.h:38
MCAPI void $stopProfiler(::std::function< void(::std::string_view)>, ::std::optional<::std::reference_wrapper<::std::string const > >)
MCAPI::Scripting::ResultAny $run(::Scripting::ContextId contextId, ::Scripting::IPayload *payload, ::std::optional<::Scripting::Privilege > privilege)
MCAPI bool $hasPendingJobs()
MCAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult > $executeCoroutines(::std::optional<::std::chrono::microseconds >, ::std::optional<::Scripting::Privilege >)
MCAPI void $disableWatchdog()
MCAPI NativeRuntime(::Scripting::RegistryManager &registryManager)
MCAPI::Scripting::FutureStatus $getFutureStatus(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::FutureType >) const
MCAPI ::std::optional<::Scripting::ScriptContext > $createContext(::Scripting::ModuleBindingBundle &&bindings, ::Scripting::IDependencyLoader *loader, ::Scripting::IPrinter *printer, ::Scripting::ContextConfig const &)
MCAPI::Scripting::ResultAny runFunction(::Scripting::ContextId contextId, ::std::function<::Scripting::ResultAny(::Scripting::NativeRuntime &, ::Scripting::ContextId, ::Scripting::WeakLifetimeScope, ::Scripting::ModuleBindingBundle const &, ::Scripting::IDependencyLoader *, ::Scripting::IPrinter *)> const &function)
MCAPI::Scripting::IWatchdog * $enableWatchdog(::Scripting::WatchdogSettings)
MCAPI void * $ctor(::Scripting::RegistryManager &registryManager)
MCAPI::Scripting::RuntimeStats $computeRuntimeStats() const
MCAPI::Scripting::IDebuggerController * $enableDebugger(::Scripting::IDebuggerTransport &)
static MCAPI void ** $vftable()
MCAPI void $destroyContext(::Scripting::ContextId contextId)
MCAPI void $startProfiler()
MCAPI void $disableDebugger()
MCAPI::Scripting::ResultAny $reject(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::PromiseType >, ::entt::meta_any &)
MCAPI ::std::optional<::Scripting::TypeNameInfo > $getNameForType(::Scripting::ContextId, ::entt::meta_type const &, bool) const
MCAPI::Scripting::ResultAny $getFutureResult(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::FutureType >, ::entt::meta_type const &) const
MCAPI::Scripting::ResultAny $call(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::ClosureType >, ::entt::meta_any *, uint, ::entt::meta_type const &, ::std::optional<::Scripting::Privilege >)
MCAPI::Scripting::IWatchdog * $getWatchdog() const
MCAPI::Scripting::ResultAny $resolve(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::PromiseType >, ::entt::meta_any &)
Definition RegistryManager.h:12
Definition ResultAny.h:7
Definition WeakLifetimeScope.h:12
Definition ContextConfig.h:7
Definition ContextId.h:7
Definition ModuleBindingBundle.h:7
Definition TypedObjectHandle.h:8
Definition WatchdogSettings.h:7
Definition Alias.h:14