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> createContext(
55 ) = 0;
56
57 // vIndex: 4
58 virtual void destroyContext(::Scripting::ContextId) = 0;
59
60 // vIndex: 5
61 virtual ::Scripting::ResultAny
62 run(::Scripting::ContextId, ::Scripting::IPayload*, ::std::optional<::Scripting::Privilege>) = 0;
63
64 // vIndex: 6
65 virtual ::Scripting::ResultAny call(
68 ::entt::meta_any*,
69 uint,
70 ::entt::meta_type const&,
71 ::std::optional<::Scripting::Privilege>
72 ) = 0;
73
74 // vIndex: 7
75 virtual ::Scripting::ResultAny
77
78 // vIndex: 8
79 virtual ::Scripting::ResultAny
81
82 // vIndex: 9
83 virtual ::Scripting::FutureStatus
85
86 // vIndex: 10
87 virtual ::Scripting::ResultAny getFutureResult(
90 ::entt::meta_type const&
91 ) const = 0;
92
93 // vIndex: 11
94 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
95 executeCoroutines(::std::optional<::std::chrono::microseconds>, ::std::optional<::Scripting::Privilege>) = 0;
96
97 // vIndex: 12
98 virtual bool hasPendingJobs() = 0;
99
100 // vIndex: 13
101 virtual ::Scripting::IDebuggerController* enableDebugger(::Scripting::IDebuggerTransport&) = 0;
102
103 // vIndex: 14
104 virtual void disableDebugger() = 0;
105
106 // vIndex: 15
107 virtual void startProfiler() = 0;
108
109 // vIndex: 16
110 virtual void stopProfiler(
111 ::std::function<void(::std::string_view)>,
112 ::std::optional<::std::reference_wrapper<::std::string const>>
113 ) = 0;
114
115 // vIndex: 17
116 virtual ::Scripting::RuntimeStats computeRuntimeStats() const = 0;
117
118 // vIndex: 18
119 virtual ::Scripting::IWatchdog* enableWatchdog(::Scripting::WatchdogSettings) = 0;
120
121 // vIndex: 19
122 virtual void disableWatchdog() = 0;
123
124 // vIndex: 20
125 virtual ::Scripting::IWatchdog* getWatchdog() const = 0;
126
127 // vIndex: 21
128 virtual ::std::optional<::Scripting::TypeNameInfo>
129 getNameForType(::Scripting::ContextId, ::entt::meta_type const&, bool) const = 0;
130 // NOLINTEND
131
132public:
133 // virtual function thunks
134 // NOLINTBEGIN
135 MCNAPI ::Scripting::IRuntimeMetadata* $getMetadata() const;
136
137 MCNAPI void $moveToThread();
138 // NOLINTEND
139};
140
141} // namespace Scripting
Definition IDebuggerTransport.h:7
Definition IDependencyLoader.h:12
Definition IPayload.h:18
Definition IPrinter.h:13
Definition IRuntime.h:36
MCAPI void $moveToThread()
MCAPI::Scripting::IRuntimeMetadata * $getMetadata() const
Definition ContextConfig.h:7
Definition ContextId.h:7
Definition ModuleBindingBundle.h:7
Definition TypedObjectHandle.h:8
Definition WatchdogSettings.h:7