3#include "mc/_HeaderOutputPredefine.h"
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#include "mc/deps/scripting/runtime/StringBasedRuntime.h"
21namespace Scripting {
class IPrinter; }
40namespace Scripting::QuickJS {
43 public ::std::enable_shared_from_this<::Scripting::QuickJS::QuickJSRuntime> {
63 QuickJSRuntime& operator=(QuickJSRuntime
const&);
64 QuickJSRuntime(QuickJSRuntime
const&);
70 virtual ~QuickJSRuntime() ;
72 virtual ::Scripting::IRuntimeMetadata* getMetadata()
const ;
74 virtual void moveToThread() ;
76 virtual ::std::optional<::Scripting::ScriptContext> createContext(
85 virtual ::Scripting::ResultAny runString(
87 ::std::string
const& scriptName,
88 ::std::string
const& scriptData,
89 ::std::optional<::Scripting::Privilege> privilege
92 virtual ::Scripting::ResultAny call(
95 ::entt::meta_any* args,
97 ::entt::meta_type
const& expectedReturnType,
98 ::std::optional<::Scripting::Privilege> privilege
101 virtual ::Scripting::ResultAny resolve(
104 ::entt::meta_any& arg
107 virtual ::Scripting::ResultAny reject(
110 ::entt::meta_any& arg
113 virtual ::Scripting::FutureStatus getFutureStatus(
118 virtual ::Scripting::ResultAny getFutureResult(
121 ::entt::meta_type
const& expectedResultType
124 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
125 executeCoroutines(::std::optional<::Scripting::Privilege> privilege) ;
127 virtual bool hasPendingJobs() ;
129 virtual ::Scripting::IDebuggerController* enableDebugger(
134 virtual void disableDebugger() ;
136 virtual void startProfiler() ;
138 virtual void stopProfiler(
139 ::std::function<
void(::std::string_view)> captureCb,
140 ::std::optional<::std::reference_wrapper<::std::string const>> savePathOpt
143 virtual ::Scripting::RuntimeStats computeRuntimeStats()
const ;
145 virtual ::std::optional<::Scripting::TypeNameInfo>
146 getNameForType(
::Scripting::ContextId contextId, ::entt::meta_type
const& type,
bool allowUnknownTypes)
const
151 virtual void disableWatchdog() ;
153 virtual ::Scripting::IWatchdog* getWatchdog()
const ;
161 ::std::unique_ptr<::Scripting::IRuntimeMetadata> metadata,
163 ::std::unique_ptr<::Scripting::QuickJS::MallocFunctions> mallocFns,
165 ::std::string(::std::string_view
const&, ::std::string
const&, ::std::vector<::std::string>
const&)>
189 ::std::unique_ptr<::Scripting::IRuntimeMetadata> metadata,
191 ::std::unique_ptr<::Scripting::QuickJS::MallocFunctions> mallocFns,
193 ::std::string(::std::string_view
const&, ::std::string
const&, ::std::vector<::std::string>
const&)>
222 ::std::string
const& scriptName,
223 ::std::string
const& scriptData,
224 ::std::optional<::Scripting::Privilege> privilege
227 MCNAPI ::Scripting::ResultAny
$call(
230 ::entt::meta_any* args,
232 ::entt::meta_type
const& expectedReturnType,
233 ::std::optional<::Scripting::Privilege> privilege
239 ::entt::meta_any& arg
245 ::entt::meta_any& arg
256 ::entt::meta_type
const& expectedResultType
259 MCNAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
264 MCNAPI ::Scripting::IDebuggerController*
272 ::std::function<
void(::std::string_view)> captureCb,
273 ::std::optional<::std::reference_wrapper<::std::string const>> savePathOpt
278 MCNAPI ::std::optional<::Scripting::TypeNameInfo>
Definition DependencyLocator.h:7
Definition IBreakpointValidator.h:7
Definition IDebuggerController.h:7
Definition IDebuggerTransport.h:7
Definition IDependencyLoader.h:12
Definition IWatchdog.h:16
MCAPI void $moveToThread()
MCAPI void * $ctor(::Scripting::RegistryManager ®istryManager, ::std::unique_ptr<::Scripting::IRuntimeMetadata > metadata, ::Scripting::DependencyLocator *locator, ::std::unique_ptr<::Scripting::QuickJS::MallocFunctions > mallocFns, ::std::function< ::std::string(::std::string_view const &, ::std::string const &, ::std::vector<::std::string > const &)> normalizerFn)
MCAPI::Scripting::FutureStatus $getFutureStatus(::Scripting::ContextId contextId, ::Scripting::TypedObjectHandle<::Scripting::FutureType > futureHandle) const
MCAPI::Scripting::IWatchdog * $getWatchdog() const
static MCAPI int _moduleImportAllowed(::JSContext *ctx, char const *baseName, char const *moduleName, void *opaque)
static MCAPI void _onProfilerCapture(void *opaque, char const *capture)
MCAPI QuickJSRuntime(::Scripting::RegistryManager ®istryManager, ::std::unique_ptr<::Scripting::IRuntimeMetadata > metadata, ::Scripting::DependencyLocator *locator, ::std::unique_ptr<::Scripting::QuickJS::MallocFunctions > mallocFns, ::std::function< ::std::string(::std::string_view const &, ::std::string const &, ::std::vector<::std::string > const &)> normalizerFn)
static MCAPI ::JSModuleDef * _moduleLoader(::JSContext *ctx, char const *moduleName, void *opaque)
MCAPI::Scripting::IRuntimeMetadata * $getMetadata() const
MCAPI ::std::optional<::Scripting::TypeNameInfo > $getNameForType(::Scripting::ContextId contextId, ::entt::meta_type const &type, bool allowUnknownTypes) const
MCAPI void $disableWatchdog()
static MCAPI void ** $vftable()
static MCAPI char * _moduleNameNormalizer(::JSContext *ctx, char const *baseName, char const *moduleName, void *opaque)
MCAPI void $destroyContext(::Scripting::ContextId contextId)
MCAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult > $executeCoroutines(::std::optional<::Scripting::Privilege > privilege)
MCAPI ::std::optional<::Scripting::ScriptContext > $createContext(::Scripting::ModuleBindingBundle &&bindings, ::Scripting::IDependencyLoader *loader, ::Scripting::IPrinter *printer, ::Scripting::ContextConfig const &config)
MCAPI void $startProfiler()
MCAPI::Scripting::ResultAny $resolve(::Scripting::ContextId contextId, ::Scripting::TypedObjectHandle<::Scripting::PromiseType > promise, ::entt::meta_any &arg)
MCAPI::Scripting::IWatchdog * $enableWatchdog(::Scripting::WatchdogSettings settings)
MCAPI::Scripting::RuntimeStats $computeRuntimeStats() const
MCAPI::Scripting::ResultAny $runString(::Scripting::ContextId contextId, ::std::string const &scriptName, ::std::string const &scriptData, ::std::optional<::Scripting::Privilege > privilege)
MCAPI::Scripting::ResultAny $getFutureResult(::Scripting::ContextId contextId, ::Scripting::TypedObjectHandle<::Scripting::FutureType > futureHandle, ::entt::meta_type const &expectedResultType) const
MCAPI bool $hasPendingJobs()
MCAPI::Scripting::ResultAny $reject(::Scripting::ContextId contextId, ::Scripting::TypedObjectHandle<::Scripting::PromiseType > promise, ::entt::meta_any &arg)
MCAPI void $disableDebugger()
MCAPI void $stopProfiler(::std::function< void(::std::string_view)> captureCb, ::std::optional<::std::reference_wrapper<::std::string const > > savePathOpt)
MCAPI::Scripting::ResultAny $call(::Scripting::ContextId contextId, ::Scripting::TypedObjectHandle<::Scripting::ClosureType > closureHandle, ::entt::meta_any *args, uint argc, ::entt::meta_type const &expectedReturnType, ::std::optional<::Scripting::Privilege > privilege)
MCAPI::Scripting::IDebuggerController * $enableDebugger(::Scripting::IDebuggerTransport &transport, ::Scripting::IBreakpointValidator &validator)
Definition RegistryManager.h:12
Definition ScriptContext.h:16
Definition StringBasedRuntime.h:18
Definition JSModuleDef.h:8
Definition ClosureType.h:7
Definition CoRoutineResult.h:7
Definition ContextConfig.h:20
Definition FutureType.h:7
Definition ModuleBindingBundle.h:15
Definition PromiseType.h:7
Definition MallocFunctions.h:7
Definition RuntimeStats.h:7
Definition TypeNameInfo.h:7
Definition TypedObjectHandle.h:8
Definition WatchdogSettings.h:7