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>
60 createContext(::Scripting::ModuleBindingBundle&& bindings, ::Scripting::IDependencyLoader* loader, ::Scripting::IPrinter* printer, ::Scripting::ContextConfig const&) /*override*/
61 ;
62
63 // vIndex: 4
64 virtual void destroyContext(::Scripting::ContextId contextId) /*override*/;
65
66 // vIndex: 5
67 virtual ::Scripting::ResultAny
68 run(::Scripting::ContextId contextId,
69 ::Scripting::IPayload* payload,
70 ::std::optional<::Scripting::Privilege> privilege) /*override*/;
71
72 // vIndex: 6
73 virtual ::Scripting::ResultAny
74 call(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::ClosureType>, ::entt::meta_any*, uint, ::entt::meta_type const&, ::std::optional<::Scripting::Privilege>) /*override*/
75 ;
76
77 // vIndex: 7
78 virtual ::Scripting::ResultAny
80 ;
81
82 // vIndex: 8
83 virtual ::Scripting::ResultAny
85 ;
86
87 // vIndex: 9
88 virtual ::Scripting::FutureStatus
90 /*override*/;
91
92 // vIndex: 10
93 virtual ::Scripting::ResultAny
95 const /*override*/;
96
97 // vIndex: 11
98 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
99 executeCoroutines(::std::optional<::std::chrono::microseconds>) /*override*/;
100
101 // vIndex: 12
102 virtual bool hasPendingJobs() /*override*/;
103
104 // vIndex: 13
105 virtual ::Scripting::IDebuggerController* enableDebugger(::Scripting::IDebuggerTransport&) /*override*/;
106
107 // vIndex: 14
108 virtual void disableDebugger() /*override*/;
109
110 // vIndex: 15
111 virtual void startProfiler() /*override*/;
112
113 // vIndex: 16
114 virtual void
115 stopProfiler(::std::function<void(::std::string_view)>, ::std::optional<::std::reference_wrapper<::std::string const>>) /*override*/
116 ;
117
118 // vIndex: 17
119 virtual ::Scripting::RuntimeStats computeRuntimeStats() const /*override*/;
120
121 // vIndex: 18
122 virtual ::Scripting::IWatchdog* enableWatchdog(::Scripting::WatchdogSettings) /*override*/;
123
124 // vIndex: 19
125 virtual void disableWatchdog() /*override*/;
126
127 // vIndex: 20
128 virtual ::Scripting::IWatchdog* getWatchdog() const /*override*/;
129
130 // vIndex: 21
131 virtual ::std::optional<::Scripting::TypeNameInfo>
132 getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const /*override*/;
133 // NOLINTEND
134
135public:
136 // member functions
137 // NOLINTBEGIN
138 MCAPI explicit NativeRuntime(::Scripting::RegistryManager& registryManager);
139
140 MCAPI ::Scripting::ResultAny runFunction(
141 ::Scripting::ContextId contextId,
142 ::std::function<
143 ::Scripting::
145 function
146 );
147 // NOLINTEND
148
149public:
150 // constructor thunks
151 // NOLINTBEGIN
152 MCAPI void* $ctor(::Scripting::RegistryManager& registryManager);
153 // NOLINTEND
154
155public:
156 // destructor thunk
157 // NOLINTBEGIN
158
159 // NOLINTEND
160
161public:
162 // virtual function thunks
163 // NOLINTBEGIN
164 MCAPI ::std::optional<::Scripting::ScriptContext>
166
167 MCAPI void $destroyContext(::Scripting::ContextId contextId);
168
169 MCAPI ::Scripting::ResultAny $run(
170 ::Scripting::ContextId contextId,
171 ::Scripting::IPayload* payload,
172 ::std::optional<::Scripting::Privilege> privilege
173 );
174
175 MCAPI ::Scripting::ResultAny
176 $call(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::ClosureType>, ::entt::meta_any*, uint, ::entt::meta_type const&, ::std::optional<::Scripting::Privilege>);
177
178 MCFOLD ::Scripting::ResultAny
180
181 MCFOLD ::Scripting::ResultAny
183
184 MCFOLD ::Scripting::FutureStatus
186
187 MCFOLD ::Scripting::ResultAny
189 const;
190
191 MCAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
192 $executeCoroutines(::std::optional<::std::chrono::microseconds>);
193
194 MCFOLD bool $hasPendingJobs();
195
196 MCFOLD ::Scripting::IDebuggerController* $enableDebugger(::Scripting::IDebuggerTransport&);
197
198 MCFOLD void $disableDebugger();
199
200 MCFOLD void $startProfiler();
201
202 MCFOLD void
203 $stopProfiler(::std::function<void(::std::string_view)>, ::std::optional<::std::reference_wrapper<::std::string const>>);
204
205 MCAPI ::Scripting::RuntimeStats $computeRuntimeStats() const;
206
207 MCFOLD ::Scripting::IWatchdog* $enableWatchdog(::Scripting::WatchdogSettings);
208
209 MCFOLD void $disableWatchdog();
210
211 MCFOLD ::Scripting::IWatchdog* $getWatchdog() const;
212
213 MCAPI ::std::optional<::Scripting::TypeNameInfo>
214 $getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const;
215 // NOLINTEND
216
217public:
218 // vftables
219 // NOLINTBEGIN
220 MCAPI static void** $vftable();
221 // NOLINTEND
222};
223
224} // namespace Scripting
Definition IDebuggerTransport.h:7
Definition IDependencyLoader.h:13
Definition IPayload.h:18
Definition IPrinter.h:12
Definition IRuntime.h:36
Definition NativeRuntime.h:38
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