LeviLamina
Loading...
Searching...
No Matches
IRuntime.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/Result_deprecated.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace Scripting { class IDebuggerController; }
14namespace Scripting { class IDebuggerTransport; }
15namespace Scripting { class IDependencyLoader; }
16namespace Scripting { class IPayload; }
17namespace Scripting { class IPrinter; }
18namespace Scripting { class IWatchdog; }
19namespace Scripting { class ResultAny; }
20namespace Scripting { class ScriptContext; }
21namespace Scripting { struct ClosureType; }
22namespace Scripting { struct CoRoutineResult; }
23namespace Scripting { struct ContextConfig; }
24namespace Scripting { struct ContextId; }
25namespace Scripting { struct FutureType; }
26namespace Scripting { struct IRuntimeMetadata; }
27namespace Scripting { struct ModuleBindingBundle; }
28namespace Scripting { struct PromiseType; }
29namespace Scripting { struct RuntimeStats; }
30namespace Scripting { struct TypeNameInfo; }
31namespace Scripting { struct WatchdogSettings; }
32// clang-format on
33
34namespace Scripting {
35
36class IRuntime {
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 // vIndex: 0
41 virtual ~IRuntime() = default;
42
43 // vIndex: 1
44 virtual ::Scripting::IRuntimeMetadata* getMetadata() const;
45
46 // vIndex: 2
47 virtual void moveToThread();
48
49 // vIndex: 3
50 virtual ::std::optional<::Scripting::ScriptContext>
52
53 // vIndex: 4
54 virtual void destroyContext(::Scripting::ContextId) = 0;
55
56 // vIndex: 5
57 virtual ::Scripting::ResultAny
58 run(::Scripting::ContextId, ::Scripting::IPayload*, ::std::optional<::Scripting::Privilege>) = 0;
59
60 // vIndex: 6
61 virtual ::Scripting::ResultAny
62 call(::Scripting::ContextId, ::Scripting::TypedObjectHandle<::Scripting::ClosureType>, ::entt::meta_any*, uint, ::entt::meta_type const&, ::std::optional<::Scripting::Privilege>) = 0;
63
64 // vIndex: 7
65 virtual ::Scripting::ResultAny
67
68 // vIndex: 8
69 virtual ::Scripting::ResultAny
71
72 // vIndex: 9
73 virtual ::Scripting::FutureStatus
75
76 // vIndex: 10
77 virtual ::Scripting::ResultAny
79 const = 0;
80
81 // vIndex: 11
82 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
83 executeCoroutines(::std::optional<::std::chrono::microseconds>) = 0;
84
85 // vIndex: 12
86 virtual bool hasPendingJobs() = 0;
87
88 // vIndex: 13
89 virtual ::Scripting::IDebuggerController* enableDebugger(::Scripting::IDebuggerTransport&) = 0;
90
91 // vIndex: 14
92 virtual void disableDebugger() = 0;
93
94 // vIndex: 15
95 virtual void startProfiler() = 0;
96
97 // vIndex: 16
98 virtual void
99 stopProfiler(::std::function<void(::std::string_view)>, ::std::optional<::std::reference_wrapper<::std::string const>>) = 0;
100
101 // vIndex: 17
102 virtual ::Scripting::RuntimeStats computeRuntimeStats() const = 0;
103
104 // vIndex: 18
105 virtual ::Scripting::IWatchdog* enableWatchdog(::Scripting::WatchdogSettings) = 0;
106
107 // vIndex: 19
108 virtual void disableWatchdog() = 0;
109
110 // vIndex: 20
111 virtual ::Scripting::IWatchdog* getWatchdog() const = 0;
112
113 // vIndex: 21
114 virtual ::std::optional<::Scripting::TypeNameInfo>
115 getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const = 0;
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCFOLD ::Scripting::IRuntimeMetadata* $getMetadata() const;
128
129 MCFOLD void $moveToThread();
130 // NOLINTEND
131};
132
133} // namespace Scripting
Definition IDebuggerTransport.h:7
Definition IDependencyLoader.h:13
Definition IPayload.h:18
Definition IPrinter.h:12
Definition IRuntime.h:36
Definition ContextConfig.h:7
Definition ContextId.h:7
Definition ModuleBindingBundle.h:7
Definition TypedObjectHandle.h:8
Definition WatchdogSettings.h:7