Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::view::JsEngine Class Referenceabstract

#include <js_engine.hpp>

Public Member Functions

virtual ~JsEngine ()=default
virtual JsEngineType type () const =0
virtual std::string runtime_version () const
virtual std::string provider_kind () const
virtual std::string provider_path () const
virtual std::string expected_runtime_version () const
virtual bool is_valid () const =0
virtual choc::value::Value evaluate (const std::string &code)=0
virtual choc::value::Value evaluate_script (const std::string &code)
virtual bool supports_bounded_json_evaluation () const
virtual std::string evaluate_bounded_json (const std::string &, std::size_t)
virtual void run_module (const std::string &code, ModuleResolver resolver, ModuleCompletionHandler completion={})=0
void register_function (const std::string &name, NativeFunction fn)
virtual choc::value::Value invoke (std::string_view name)=0
virtual choc::value::Value invoke (std::string_view name, const choc::value::Value *args, size_t num_args)=0
virtual void set_log_callback (LogCallback callback)=0
void register_host_object (const std::string &name, HostObjectDescriptor descriptor)
void register_promise_function (const std::string &name, NativePromiseFunction fn)
virtual void gc_hint ()
virtual bool set_memory_limit (std::size_t)
virtual void pump_message_loop ()
virtual bool supports_interrupt () const
virtual void request_interrupt ()
virtual bool clear_pending_interrupt ()
virtual bool supports_host_objects () const
virtual bool supports_typed_arrays () const
virtual bool supports_promises () const
 JsEngine (const JsEngine &)=delete
JsEngine & operator= (const JsEngine &)=delete
 JsEngine (JsEngine &&)=delete
JsEngine & operator= (JsEngine &&)=delete

Protected Member Functions

 JsEngine ()=default
virtual void register_function_impl (const std::string &name, NativeFunction fn)=0
virtual void register_host_object_impl (const std::string &name, HostObjectDescriptor descriptor)
virtual void register_promise_function_impl (const std::string &name, NativePromiseFunction fn)

Constructor & Destructor Documentation

◆ ~JsEngine()

virtual pulp::view::JsEngine::~JsEngine ( )
virtualdefault

◆ JsEngine() [1/3]

pulp::view::JsEngine::JsEngine ( const JsEngine & )
delete

◆ JsEngine() [2/3]

pulp::view::JsEngine::JsEngine ( JsEngine && )
delete

◆ JsEngine() [3/3]

pulp::view::JsEngine::JsEngine ( )
protecteddefault

Member Function Documentation

◆ clear_pending_interrupt()

virtual bool pulp::view::JsEngine::clear_pending_interrupt ( )
inlinevirtual

◆ evaluate()

virtual choc::value::Value pulp::view::JsEngine::evaluate ( const std::string & code)
pure virtual

◆ evaluate_bounded_json()

virtual std::string pulp::view::JsEngine::evaluate_bounded_json ( const std::string & ,
std::size_t  )
inlinevirtual

◆ evaluate_script()

virtual choc::value::Value pulp::view::JsEngine::evaluate_script ( const std::string & code)
inlinevirtual

◆ expected_runtime_version()

virtual std::string pulp::view::JsEngine::expected_runtime_version ( ) const
inlinevirtual

◆ gc_hint()

virtual void pulp::view::JsEngine::gc_hint ( )
inlinevirtual

◆ invoke() [1/2]

virtual choc::value::Value pulp::view::JsEngine::invoke ( std::string_view name)
pure virtual

◆ invoke() [2/2]

virtual choc::value::Value pulp::view::JsEngine::invoke ( std::string_view name,
const choc::value::Value * args,
size_t num_args )
pure virtual

◆ is_valid()

virtual bool pulp::view::JsEngine::is_valid ( ) const
pure virtual

◆ operator=() [1/2]

JsEngine & pulp::view::JsEngine::operator= ( const JsEngine & )
delete

◆ operator=() [2/2]

JsEngine & pulp::view::JsEngine::operator= ( JsEngine && )
delete

◆ provider_kind()

virtual std::string pulp::view::JsEngine::provider_kind ( ) const
inlinevirtual

◆ provider_path()

virtual std::string pulp::view::JsEngine::provider_path ( ) const
inlinevirtual

◆ pump_message_loop()

virtual void pulp::view::JsEngine::pump_message_loop ( )
inlinevirtual

◆ register_function()

void pulp::view::JsEngine::register_function ( const std::string & name,
NativeFunction fn )
inline

◆ register_function_impl()

virtual void pulp::view::JsEngine::register_function_impl ( const std::string & name,
NativeFunction fn )
protectedpure virtual

◆ register_host_object()

void pulp::view::JsEngine::register_host_object ( const std::string & name,
HostObjectDescriptor descriptor )
inline

◆ register_host_object_impl()

virtual void pulp::view::JsEngine::register_host_object_impl ( const std::string & name,
HostObjectDescriptor descriptor )
inlineprotectedvirtual

◆ register_promise_function()

void pulp::view::JsEngine::register_promise_function ( const std::string & name,
NativePromiseFunction fn )
inline

◆ register_promise_function_impl()

virtual void pulp::view::JsEngine::register_promise_function_impl ( const std::string & name,
NativePromiseFunction fn )
inlineprotectedvirtual

◆ request_interrupt()

virtual void pulp::view::JsEngine::request_interrupt ( )
inlinevirtual

◆ run_module()

virtual void pulp::view::JsEngine::run_module ( const std::string & code,
ModuleResolver resolver,
ModuleCompletionHandler completion = {} )
pure virtual

◆ runtime_version()

virtual std::string pulp::view::JsEngine::runtime_version ( ) const
inlinevirtual

◆ set_log_callback()

virtual void pulp::view::JsEngine::set_log_callback ( LogCallback callback)
pure virtual

◆ set_memory_limit()

virtual bool pulp::view::JsEngine::set_memory_limit ( std::size_t )
inlinevirtual

◆ supports_bounded_json_evaluation()

virtual bool pulp::view::JsEngine::supports_bounded_json_evaluation ( ) const
inlinevirtual

◆ supports_host_objects()

virtual bool pulp::view::JsEngine::supports_host_objects ( ) const
inlinevirtual

◆ supports_interrupt()

virtual bool pulp::view::JsEngine::supports_interrupt ( ) const
inlinevirtual

◆ supports_promises()

virtual bool pulp::view::JsEngine::supports_promises ( ) const
inlinevirtual

◆ supports_typed_arrays()

virtual bool pulp::view::JsEngine::supports_typed_arrays ( ) const
inlinevirtual

◆ type()

virtual JsEngineType pulp::view::JsEngine::type ( ) const
pure virtual

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/view/include/pulp/view/js_engine.hpp