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

#include <script_engine.hpp>

Public Member Functions

 ScriptEngine ()
 ScriptEngine (JsEngineType engine_type)
 ~ScriptEngine ()
 ScriptEngine (ScriptEngine &&) noexcept
ScriptEngine & operator= (ScriptEngine &&) noexcept
 ScriptEngine (const ScriptEngine &)=delete
ScriptEngine & operator= (const ScriptEngine &)=delete
choc::value::Value evaluate (const std::string &code)
choc::value::Value evaluate_script (const std::string &code)
bool supports_bounded_json_evaluation () const
std::string evaluate_bounded_json (const std::string &code, std::size_t max_bytes)
void run_module (const std::string &code, ModuleResolver resolver, ModuleCompletionHandler completion={})
void register_function (const std::string &name, NativeFunction fn)
void register_function (const std::string &name, choc::javascript::Context::NativeFunction fn)
void register_promise_function (const std::string &name, NativePromiseFunction fn)
void set_bridge_call_counter (const std::shared_ptr< std::atomic< std::uint64_t > > &counter) noexcept
std::shared_ptr< std::atomic< std::uint64_t > > bridge_call_counter () const noexcept
void register_host_object (const std::string &name, HostObjectDescriptor descriptor)
choc::value::Value invoke (std::string_view name)
template<typename... Args>
choc::value::Value invoke (std::string_view name, Args &&... args)
void set_log_callback (LogCallback callback)
void pump_message_loop ()
bool set_memory_limit (std::size_t bytes)
bool supports_interrupt () const
void request_interrupt ()
bool clear_pending_interrupt ()
 operator bool () const
JsEngineType engine_type () const
std::string runtime_version () const
std::string provider_kind () const
std::string provider_path () const
std::string expected_runtime_version () const
JsEngine & engine ()
const JsEngine & engine () const
std::weak_ptr< const void > liveness_token () const noexcept

Constructor & Destructor Documentation

◆ ScriptEngine() [1/4]

pulp::view::ScriptEngine::ScriptEngine ( )

◆ ScriptEngine() [2/4]

pulp::view::ScriptEngine::ScriptEngine ( JsEngineType engine_type)
explicit

◆ ~ScriptEngine()

pulp::view::ScriptEngine::~ScriptEngine ( )

◆ ScriptEngine() [3/4]

pulp::view::ScriptEngine::ScriptEngine ( ScriptEngine && )
noexcept

◆ ScriptEngine() [4/4]

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

Member Function Documentation

◆ bridge_call_counter()

std::shared_ptr< std::atomic< std::uint64_t > > pulp::view::ScriptEngine::bridge_call_counter ( ) const
inlinenoexcept

◆ clear_pending_interrupt()

bool pulp::view::ScriptEngine::clear_pending_interrupt ( )

◆ engine() [1/2]

JsEngine & pulp::view::ScriptEngine::engine ( )

◆ engine() [2/2]

const JsEngine & pulp::view::ScriptEngine::engine ( ) const

◆ engine_type()

JsEngineType pulp::view::ScriptEngine::engine_type ( ) const

◆ evaluate()

choc::value::Value pulp::view::ScriptEngine::evaluate ( const std::string & code)

◆ evaluate_bounded_json()

std::string pulp::view::ScriptEngine::evaluate_bounded_json ( const std::string & code,
std::size_t max_bytes )

◆ evaluate_script()

choc::value::Value pulp::view::ScriptEngine::evaluate_script ( const std::string & code)

◆ expected_runtime_version()

std::string pulp::view::ScriptEngine::expected_runtime_version ( ) const

◆ invoke() [1/2]

choc::value::Value pulp::view::ScriptEngine::invoke ( std::string_view name)

◆ invoke() [2/2]

template<typename... Args>
choc::value::Value pulp::view::ScriptEngine::invoke ( std::string_view name,
Args &&... args )

◆ liveness_token()

std::weak_ptr< const void > pulp::view::ScriptEngine::liveness_token ( ) const
inlinenoexcept

◆ operator bool()

pulp::view::ScriptEngine::operator bool ( ) const
explicit

◆ operator=() [1/2]

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

◆ operator=() [2/2]

ScriptEngine & pulp::view::ScriptEngine::operator= ( ScriptEngine && )
noexcept

◆ provider_kind()

std::string pulp::view::ScriptEngine::provider_kind ( ) const

◆ provider_path()

std::string pulp::view::ScriptEngine::provider_path ( ) const

◆ pump_message_loop()

void pulp::view::ScriptEngine::pump_message_loop ( )

◆ register_function() [1/2]

void pulp::view::ScriptEngine::register_function ( const std::string & name,
choc::javascript::Context::NativeFunction fn )

◆ register_function() [2/2]

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

◆ register_host_object()

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

◆ register_promise_function()

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

◆ request_interrupt()

void pulp::view::ScriptEngine::request_interrupt ( )

◆ run_module()

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

◆ runtime_version()

std::string pulp::view::ScriptEngine::runtime_version ( ) const

◆ set_bridge_call_counter()

void pulp::view::ScriptEngine::set_bridge_call_counter ( const std::shared_ptr< std::atomic< std::uint64_t > > & counter)
inlinenoexcept

◆ set_log_callback()

void pulp::view::ScriptEngine::set_log_callback ( LogCallback callback)

◆ set_memory_limit()

bool pulp::view::ScriptEngine::set_memory_limit ( std::size_t bytes)

◆ supports_bounded_json_evaluation()

bool pulp::view::ScriptEngine::supports_bounded_json_evaluation ( ) const

◆ supports_interrupt()

bool pulp::view::ScriptEngine::supports_interrupt ( ) const

The documentation for this class was generated from the following file: