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

#include <script_inspector_bridge.hpp>

Classes

struct  EvalResult
struct  Capabilities

Public Types

using EvaluationDeadline = std::chrono::steady_clock::time_point

Public Member Functions

 ScriptInspectorBridge ()=default
 ~ScriptInspectorBridge () override
 ScriptInspectorBridge (const ScriptInspectorBridge &)=delete
ScriptInspectorBridge & operator= (const ScriptInspectorBridge &)=delete
void set_realm_capabilities (const CapabilitySet &granted) override
 Tell the port which native capabilities the realm it is about to be attached to holds.
void attach (ScriptEngine *engine) override
 Point the port at engine, or at none with nullptr.
void detach () override
 Release the engine; a blocked off-thread request wakes as detached.
void set_post_evaluation_reset (std::function< std::string(EvaluationDeadline)> reset) override
 Install the realm reset a completed evaluation owes.
bool post_evaluation_reset_pending () const
std::string run_pending_post_evaluation_reset () override
 Run the owed reset if one is pending.
EvalResult evaluate (const std::string &code, std::chrono::milliseconds timeout=kDefaultTimeout, std::size_t max_result_bytes=1024 *1024)
Capabilities capabilities () const
bool interrupt ()
bool pump () override
 Run at most one queued request. True when it changed realm state.
bool is_busy () const

Static Public Attributes

static constexpr std::chrono::milliseconds kDefaultTimeout {2000}

Friends

struct ScriptInspectorBridgeTestAccess

Member Typedef Documentation

◆ EvaluationDeadline

using pulp::view::ScriptInspectorPort::EvaluationDeadline = std::chrono::steady_clock::time_point
inherited

Constructor & Destructor Documentation

◆ ScriptInspectorBridge() [1/2]

pulp::view::ScriptInspectorBridge::ScriptInspectorBridge ( )
default

◆ ~ScriptInspectorBridge()

pulp::view::ScriptInspectorBridge::~ScriptInspectorBridge ( )
override

◆ ScriptInspectorBridge() [2/2]

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

Member Function Documentation

◆ attach()

void pulp::view::ScriptInspectorBridge::attach ( ScriptEngine * engine)
overridevirtual

Point the port at engine, or at none with nullptr.

Implements pulp::view::ScriptInspectorPort.

◆ capabilities()

Capabilities pulp::view::ScriptInspectorBridge::capabilities ( ) const

◆ detach()

void pulp::view::ScriptInspectorBridge::detach ( )
overridevirtual

Release the engine; a blocked off-thread request wakes as detached.

Implements pulp::view::ScriptInspectorPort.

◆ evaluate()

EvalResult pulp::view::ScriptInspectorBridge::evaluate ( const std::string & code,
std::chrono::milliseconds timeout = kDefaultTimeout,
std::size_t max_result_bytes = 1024 *1024 )

◆ interrupt()

bool pulp::view::ScriptInspectorBridge::interrupt ( )

◆ is_busy()

bool pulp::view::ScriptInspectorBridge::is_busy ( ) const

◆ operator=()

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

◆ post_evaluation_reset_pending()

bool pulp::view::ScriptInspectorBridge::post_evaluation_reset_pending ( ) const

◆ pump()

bool pulp::view::ScriptInspectorBridge::pump ( )
overridevirtual

Run at most one queued request. True when it changed realm state.

Implements pulp::view::ScriptInspectorPort.

◆ run_pending_post_evaluation_reset()

std::string pulp::view::ScriptInspectorBridge::run_pending_post_evaluation_reset ( )
overridevirtual

Run the owed reset if one is pending.

Returns its error text, empty on success or when nothing was owed.

Implements pulp::view::ScriptInspectorPort.

◆ set_post_evaluation_reset()

void pulp::view::ScriptInspectorBridge::set_post_evaluation_reset ( std::function< std::string(EvaluationDeadline)> reset)
overridevirtual

Install the realm reset a completed evaluation owes.

The session installs it once, before the first attach().

Implements pulp::view::ScriptInspectorPort.

◆ set_realm_capabilities()

void pulp::view::ScriptInspectorBridge::set_realm_capabilities ( const CapabilitySet & )
overridevirtual

Tell the port which native capabilities the realm it is about to be attached to holds.

The session calls this before every attach() so an evaluator can refuse a realm whose explicit grant carries an effectful capability. The default keeps a port that does not evaluate unchanged.

Reimplemented from pulp::view::ScriptInspectorPort.

◆ ScriptInspectorBridgeTestAccess

friend struct ScriptInspectorBridgeTestAccess
friend

Member Data Documentation

◆ kDefaultTimeout

std::chrono::milliseconds pulp::view::ScriptInspectorBridge::kDefaultTimeout {2000}
staticconstexpr

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