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 RuntimeContextData; }
32namespace Scripting { struct RuntimeStats; }
33namespace Scripting { struct TypeNameInfo; }
34namespace Scripting { struct WatchdogSettings; }
35// clang-format on
36
37namespace Scripting {
38
39class NativeRuntime : public ::Scripting::IRuntime, public ::std::enable_shared_from_this<::Scripting::NativeRuntime> {
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 8, ::Scripting::RegistryManager&> mRegistryManager;
44 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::std::unique_ptr<::Scripting::RuntimeContextData>>>
45 mContextObjects;
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 NativeRuntime& operator=(NativeRuntime const&);
53
54public:
55 // virtual functions
56 // NOLINTBEGIN
57 // vIndex: 0
58 virtual ~NativeRuntime() /*override*/ = default;
59
60 // vIndex: 3
61 virtual ::std::optional<::Scripting::ScriptContext> createContext(
64 ::Scripting::IPrinter* printer,
66 ) /*override*/;
67
68 // vIndex: 4
69 virtual void destroyContext(::Scripting::ContextId contextId) /*override*/;
70
71 // vIndex: 5
72 virtual ::Scripting::ResultAny
73 run(::Scripting::ContextId contextId,
74 ::Scripting::IPayload* payload,
75 ::std::optional<::Scripting::Privilege> privilege) /*override*/;
76
77 // vIndex: 6
78 virtual ::Scripting::ResultAny call(
81 ::entt::meta_any*,
82 uint,
83 ::entt::meta_type const&,
84 ::std::optional<::Scripting::Privilege>
85 ) /*override*/;
86
87 // vIndex: 7
88 virtual ::Scripting::ResultAny resolve(
91 ::entt::meta_any&
92 ) /*override*/;
93
94 // vIndex: 8
95 virtual ::Scripting::ResultAny reject(
98 ::entt::meta_any&
99 ) /*override*/;
100
101 // vIndex: 9
102 virtual ::Scripting::FutureStatus
104 /*override*/;
105
106 // vIndex: 10
107 virtual ::Scripting::ResultAny getFutureResult(
110 ::entt::meta_type const&
111 ) const /*override*/;
112
113 // vIndex: 11
114 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult> executeCoroutines(
115 ::std::optional<::std::chrono::microseconds>,
116 ::std::optional<::Scripting::Privilege>
117 ) /*override*/;
118
119 // vIndex: 12
120 virtual bool hasPendingJobs() /*override*/;
121
122 // vIndex: 13
123 virtual ::Scripting::IDebuggerController* enableDebugger(::Scripting::IDebuggerTransport&) /*override*/;
124
125 // vIndex: 14
126 virtual void disableDebugger() /*override*/;
127
128 // vIndex: 15
129 virtual void startProfiler() /*override*/;
130
131 // vIndex: 16
132 virtual void stopProfiler(
133 ::std::function<void(::std::string_view)>,
134 ::std::optional<::std::reference_wrapper<::std::string const>>
135 ) /*override*/;
136
137 // vIndex: 17
138 virtual ::Scripting::RuntimeStats computeRuntimeStats() const /*override*/;
139
140 // vIndex: 18
141 virtual ::Scripting::IWatchdog* enableWatchdog(::Scripting::WatchdogSettings) /*override*/;
142
143 // vIndex: 19
144 virtual void disableWatchdog() /*override*/;
145
146 // vIndex: 20
147 virtual ::Scripting::IWatchdog* getWatchdog() const /*override*/;
148
149 // vIndex: 21
150 virtual ::std::optional<::Scripting::TypeNameInfo>
151 getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const /*override*/;
152 // NOLINTEND
153
154public:
155 // member functions
156 // NOLINTBEGIN
157 MCAPI explicit NativeRuntime(::Scripting::RegistryManager& registryManager);
158
159 MCAPI ::Scripting::ResultAny runFunction(
160 ::Scripting::ContextId contextId,
161 ::std::function<::Scripting::ResultAny(
168 )> const& function
169 );
170 // NOLINTEND
171
172public:
173 // constructor thunks
174 // NOLINTBEGIN
175 MCAPI void* $ctor(::Scripting::RegistryManager& registryManager);
176 // NOLINTEND
177
178public:
179 // virtual function thunks
180 // NOLINTBEGIN
181 MCAPI ::std::optional<::Scripting::ScriptContext> $createContext(
184 ::Scripting::IPrinter* printer,
186 );
187
188 MCAPI void $destroyContext(::Scripting::ContextId contextId);
189
190 MCAPI ::Scripting::ResultAny $run(
191 ::Scripting::ContextId contextId,
192 ::Scripting::IPayload* payload,
193 ::std::optional<::Scripting::Privilege> privilege
194 );
195
196 MCFOLD ::Scripting::ResultAny $call(
199 ::entt::meta_any*,
200 uint,
201 ::entt::meta_type const&,
202 ::std::optional<::Scripting::Privilege>
203 );
204
205 MCFOLD ::Scripting::ResultAny
207
208 MCFOLD ::Scripting::ResultAny
210
211 MCFOLD ::Scripting::FutureStatus
213
214 MCFOLD ::Scripting::ResultAny $getFutureResult(
217 ::entt::meta_type const&
218 ) const;
219
220 MCFOLD ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
221 $executeCoroutines(::std::optional<::std::chrono::microseconds>, ::std::optional<::Scripting::Privilege>);
222
223 MCFOLD bool $hasPendingJobs();
224
225 MCFOLD ::Scripting::IDebuggerController* $enableDebugger(::Scripting::IDebuggerTransport&);
226
227 MCFOLD void $disableDebugger();
228
229 MCFOLD void $startProfiler();
230
231 MCFOLD void $stopProfiler(
232 ::std::function<void(::std::string_view)>,
233 ::std::optional<::std::reference_wrapper<::std::string const>>
234 );
235
236 MCAPI ::Scripting::RuntimeStats $computeRuntimeStats() const;
237
238 MCFOLD ::Scripting::IWatchdog* $enableWatchdog(::Scripting::WatchdogSettings);
239
240 MCFOLD void $disableWatchdog();
241
242 MCFOLD ::Scripting::IWatchdog* $getWatchdog() const;
243
244 MCAPI ::std::optional<::Scripting::TypeNameInfo>
245 $getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const;
246 // NOLINTEND
247
248public:
249 // vftables
250 // NOLINTBEGIN
251 MCNAPI static void** $vftable();
252 // NOLINTEND
253};
254
255} // 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:39
static MCAPI void ** $vftable()
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