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
117 virtual ::Scripting::ResultAny getFutureResult(
120 ::entt::meta_type
const& expectedResultType
123 virtual ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
124 executeCoroutines(::std::optional<::Scripting::Privilege> privilege) ;
126 virtual bool hasPendingJobs() ;
128 virtual ::Scripting::IDebuggerController* enableDebugger(
133 virtual void disableDebugger() ;
135 virtual void startProfiler() ;
137 virtual void stopProfiler(
138 ::std::function<
void(::std::string_view)> captureCb,
139 ::std::optional<::std::reference_wrapper<::std::string const>> savePathOpt
142 virtual ::Scripting::RuntimeStats computeRuntimeStats()
const ;
144 virtual ::std::optional<::Scripting::TypeNameInfo>
145 getNameForType(
::Scripting::ContextId contextId, ::entt::meta_type
const& type,
bool allowUnknownTypes)
const
150 virtual void disableWatchdog() ;
152 virtual ::Scripting::IWatchdog* getWatchdog()
const ;
160 ::std::unique_ptr<::Scripting::IRuntimeMetadata> metadata,
162 ::std::unique_ptr<::Scripting::QuickJS::MallocFunctions> mallocFns,
164 ::std::string(::std::string_view
const&, ::std::string
const&, ::std::vector<::std::string>
const&)>
188 ::std::unique_ptr<::Scripting::IRuntimeMetadata> metadata,
190 ::std::unique_ptr<::Scripting::QuickJS::MallocFunctions> mallocFns,
192 ::std::string(::std::string_view
const&, ::std::string
const&, ::std::vector<::std::string>
const&)>
221 ::std::string
const& scriptName,
222 ::std::string
const& scriptData,
223 ::std::optional<::Scripting::Privilege> privilege
226 MCNAPI ::Scripting::ResultAny
$call(
229 ::entt::meta_any* args,
231 ::entt::meta_type
const& expectedReturnType,
232 ::std::optional<::Scripting::Privilege> privilege
238 ::entt::meta_any& arg
244 ::entt::meta_any& arg
250 ::entt::meta_type
const& expectedResultType
253 MCNAPI ::Scripting::Result_deprecated<::Scripting::CoRoutineResult>
258 MCNAPI ::Scripting::IDebuggerController*
266 ::std::function<
void(::std::string_view)> captureCb,
267 ::std::optional<::std::reference_wrapper<::std::string const>> savePathOpt
272 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::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