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

Handles inspector protocol requests by delegating to the appropriate inspector component. More...

#include <domain_handler.hpp>

Public Member Functions

 DomainHandler ()=default
void set_root_view (view::View *root)
void set_agent_context_source (InspectorAgentContextSource *source)
void set_capture_source (InspectorCaptureSource *source)
void set_skp_capture_source (SkpCaptureSource *source)
void set_overlay (InspectorOverlay *overlay)
 Attach the overlay.
void set_state_inspector (StateInspector *state)
void set_console_capture (ConsoleCapture *console)
void set_runtime_evaluator (RuntimeEvaluator *evaluator)
 Inject the separately linked arbitrary-execution component.
InspectorMessage handle_runtime_with_evaluator (const InspectorMessage &request, RuntimeEvaluator *evaluator)
 Dispatch one Runtime request with a scoped borrowed evaluator.
void set_runtime_eval_enabled (bool enabled)
 Opt in to Runtime.evaluate / Runtime.interrupt.
void set_runtime_eval_denied (std::string reason)
 Fail-closed runtime-eval state with an exact host-owned diagnostic.
void set_audio_inspector (AudioInspector *audio)
void set_motion_inspector (MotionInspector *motion)
void set_motion_scrubber (MotionScrubber *scrubber)
void set_trace_inspector (std::shared_ptr< TraceInspector > trace)
 Wire and retain the Perfetto tracing bridge used by Trace.* dispatch.
void set_trace_inspector (TraceInspector *trace)
 Source-compatible dispatch-only wiring.
void set_render_pass_manager (render::RenderPassManager *rpm)
void set_tweak_store (TweakStore *store)
void set_test_input_source (InspectorTestInputSource *source)
InspectorTestInputSource * test_input_source () const
void release_test_input (TestInputReleaseReason reason) noexcept
void set_dirty_tracker (render::DirtyTracker *dirty)
 Wire the per-frame dirty tracker so the inspector's Performance tab can toggle DirtyTracker::set_debug_overlay() at runtime.
void set_config (InspectorConfig config)
 Replace the runtime config.
const InspectorConfig & config () const
InspectorConfig & mutable_config ()
InspectorMessage handle (const InspectorMessage &request)
 Handle a protocol request. Returns a response message.

Detailed Description

Handles inspector protocol requests by delegating to the appropriate inspector component.

All data sources are optional — missing sources return error responses for their domain's methods.

Constructor & Destructor Documentation

◆ DomainHandler()

pulp::inspect::DomainHandler::DomainHandler ( )
default

Member Function Documentation

◆ config()

const InspectorConfig & pulp::inspect::DomainHandler::config ( ) const
inline

◆ handle()

InspectorMessage pulp::inspect::DomainHandler::handle ( const InspectorMessage & request)

Handle a protocol request. Returns a response message.

◆ handle_runtime_with_evaluator()

InspectorMessage pulp::inspect::DomainHandler::handle_runtime_with_evaluator ( const InspectorMessage & request,
RuntimeEvaluator * evaluator )

Dispatch one Runtime request with a scoped borrowed evaluator.

The previous binding is restored on every exit, including exceptions.

◆ mutable_config()

InspectorConfig & pulp::inspect::DomainHandler::mutable_config ( )
inline

◆ release_test_input()

void pulp::inspect::DomainHandler::release_test_input ( TestInputReleaseReason reason)
inlinenoexcept

◆ set_agent_context_source()

void pulp::inspect::DomainHandler::set_agent_context_source ( InspectorAgentContextSource * source)
inline

◆ set_audio_inspector()

void pulp::inspect::DomainHandler::set_audio_inspector ( AudioInspector * audio)
inline

◆ set_capture_source()

void pulp::inspect::DomainHandler::set_capture_source ( InspectorCaptureSource * source)
inline

◆ set_config()

void pulp::inspect::DomainHandler::set_config ( InspectorConfig config)

Replace the runtime config.

Mutating accessors below (e.g. Inspector.setEditorUrlTemplate) update this in place. Also pushes the config to the attached overlay (if any) so the J source-jump hotkey and the protocol Inspector.jumpToSource share one template. Defined out-of-line so the header doesn't need the overlay's definition.

◆ set_console_capture()

void pulp::inspect::DomainHandler::set_console_capture ( ConsoleCapture * console)
inline

◆ set_dirty_tracker()

void pulp::inspect::DomainHandler::set_dirty_tracker ( render::DirtyTracker * dirty)
inline

Wire the per-frame dirty tracker so the inspector's Performance tab can toggle DirtyTracker::set_debug_overlay() at runtime.

The host installs the tracker once during plugin / app init; if unset, the toggle silently no-ops.

◆ set_motion_inspector()

void pulp::inspect::DomainHandler::set_motion_inspector ( MotionInspector * motion)
inline

◆ set_motion_scrubber()

void pulp::inspect::DomainHandler::set_motion_scrubber ( MotionScrubber * scrubber)
inline

◆ set_overlay()

void pulp::inspect::DomainHandler::set_overlay ( InspectorOverlay * overlay)

Attach the overlay.

Also seeds the overlay's source-jump config with the handler's current config so the J hotkey matches Inspector.jumpToSource. Out-of-line for the same reason as set_config().

◆ set_render_pass_manager()

void pulp::inspect::DomainHandler::set_render_pass_manager ( render::RenderPassManager * rpm)
inline

◆ set_root_view()

void pulp::inspect::DomainHandler::set_root_view ( view::View * root)
inline

◆ set_runtime_eval_denied()

void pulp::inspect::DomainHandler::set_runtime_eval_denied ( std::string reason)
inline

Fail-closed runtime-eval state with an exact host-owned diagnostic.

This does not alter the attached JS realm or mask any of its globals.

◆ set_runtime_eval_enabled()

void pulp::inspect::DomainHandler::set_runtime_eval_enabled ( bool enabled)
inline

Opt in to Runtime.evaluate / Runtime.interrupt.

OFF by default: evaluate is arbitrary code execution in the plugin's JS context, and the authenticated inspector transport does not make arbitrary evaluation safe to expose merely because a debug console was wired. A host enables this only for a trusted development session. Runtime.getCapabilities reflects the flag via canEvaluate; read-only surfaces (logs, DOM, state) are unaffected.

◆ set_runtime_evaluator()

void pulp::inspect::DomainHandler::set_runtime_evaluator ( RuntimeEvaluator * evaluator)
inline

Inject the separately linked arbitrary-execution component.

Without it, Runtime status remains available but evaluation reports no engine.

◆ set_skp_capture_source()

void pulp::inspect::DomainHandler::set_skp_capture_source ( SkpCaptureSource * source)
inline

◆ set_state_inspector()

void pulp::inspect::DomainHandler::set_state_inspector ( StateInspector * state)
inline

◆ set_test_input_source()

void pulp::inspect::DomainHandler::set_test_input_source ( InspectorTestInputSource * source)
inline

◆ set_trace_inspector() [1/2]

void pulp::inspect::DomainHandler::set_trace_inspector ( std::shared_ptr< TraceInspector > trace)

Wire and retain the Perfetto tracing bridge used by Trace.* dispatch.

◆ set_trace_inspector() [2/2]

void pulp::inspect::DomainHandler::set_trace_inspector ( TraceInspector * trace)
inline

Source-compatible dispatch-only wiring.

◆ set_tweak_store()

void pulp::inspect::DomainHandler::set_tweak_store ( TweakStore * store)
inline

◆ test_input_source()

InspectorTestInputSource * pulp::inspect::DomainHandler::test_input_source ( ) const
inline

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