Skip to content

Class ILLIXR::boba_immersive

ClassList > ILLIXR > boba_immersive

More...

  • #include <plugin.hpp>

Inherits the following classes: ILLIXR::plugin

Public Functions

Type Name
boba_immersive (const std::string & name, phonebook * pb)
virtual void start () override
virtual void stop () override
~boba_immersive () override

Public Functions inherited from ILLIXR::plugin

See ILLIXR::plugin

Type Name
std::string get_name () noexcept const
plugin (std::string name, phonebook * pb)
void spd_add_file_sink (const std::string & file_name, const std::string & extension, const std::string & log_level)
auto spdlogger (const char * log_level)
virtual void start ()
A method which Spindle calls when it starts the component.
virtual void stop ()
A method which Spindle calls when it stops the component.
virtual ~plugin () = default

Protected Attributes inherited from ILLIXR::plugin

See ILLIXR::plugin

Type Name
const std::size_t id_
std::string name_
const phonebook * phonebook_
std::shared_ptr< spdlog::logger > plugin_logger_
const std::shared_ptr< record_logger > record_logger_

Detailed Description

Bridge between ILLIXR's typed switchboard and the existing Boba Python process.

The plugin keeps Boba out of the ILLIXR address space. It forwards coherent OpenXR view/controller snapshots over a local datagram socket and publishes Boba's mmap-backed stereo, overlay, and modal rings as lightweight stereo_frame descriptors. A downstream display or streaming plugin owns the actual GPU upload and presentation.

Public Functions Documentation

function boba_immersive

ILLIXR::boba_immersive::boba_immersive (
    const std::string & name,
    phonebook * pb
) 

Resolve the Boba launcher and bind the switchboard endpoints.


function start

virtual void ILLIXR::boba_immersive::start () override

Start the process/IPC bridge on its dedicated worker thread.

Implements ILLIXR::plugin::start


function stop

virtual void ILLIXR::boba_immersive::stop () override

Stop the worker, terminate Boba's process group, and remove per-run IPC files.

Implements ILLIXR::plugin::stop


function ~boba_immersive

ILLIXR::boba_immersive::~boba_immersive () override

Ensure worker and child-process resources are stopped before destruction.



The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/plugins/boba_immersive/plugin.hpp