Monado OpenXR Runtime
xrt_system Struct Reference

A system is a collection of devices, policies and optionally a compositor that is organised into a chosive group that is usable by one user, most of the functionality of a system is exposed through other objects, this is the main object. More...

#include <xrt/xrt_system.h>

Inheritance diagram for xrt_system:
Collaboration diagram for xrt_system:

Public Member Functions

static xrt_result_t xrt_system_create_session (struct xrt_system *xsys, const struct xrt_session_info *xsi, struct xrt_session **out_xs, struct xrt_compositor_native **out_xcn)
 Create a xrt_session and optionally a xrt_compositor_native for this system. More...
 
static void xrt_system_destroy (struct xrt_system **xsys_ptr)
 Destroy an xrt_system - helper function. More...
 

Data Fields

xrt_result_t(* create_session )(struct xrt_system *xsys, const struct xrt_session_info *xsi, struct xrt_session **out_xs, struct xrt_compositor_native **out_xcn)
 Create a xrt_session and optionally a xrt_compositor_native for this system. More...
 
void(* destroy )(struct xrt_system *xsys)
 Destroy the system, must be destroyed after system devices and system compositor has been destroyed. More...
 
struct xrt_system_properties properties
 

Detailed Description

A system is a collection of devices, policies and optionally a compositor that is organised into a chosive group that is usable by one user, most of the functionality of a system is exposed through other objects, this is the main object.

It is from this you create sessions that is used to by apps to interact with the "system".

Sibling objects: xrt_system_devices, xrt_system_compositor and xrt_space_overseer.

Member Function Documentation

◆ xrt_system_create_session()

static xrt_result_t xrt_system_create_session ( struct xrt_system xsys,
const struct xrt_session_info xsi,
struct xrt_session **  out_xs,
struct xrt_compositor_native **  out_xcn 
)
inline

Create a xrt_session and optionally a xrt_compositor_native for this system.

param[in] xsys Pointer to self. param[in] xsi Session info. param[out] out_xs Created session. param[out] out_xcn Native compositor for this session, optional.

Helper for calling through the function pointer.

References create_session.

◆ xrt_system_destroy()

static void xrt_system_destroy ( struct xrt_system **  xsys_ptr)
inline

Destroy an xrt_system - helper function.

Parameters
[in,out]xsysd_ptrA pointer to the xrt_system struct pointer.

Will destroy the system if *xsys_ptr is not NULL. Will then set *xsys_ptr to NULL.

References destroy.

Field Documentation

◆ create_session

xrt_result_t(* xrt_system::create_session) (struct xrt_system *xsys, const struct xrt_session_info *xsi, struct xrt_session **out_xs, struct xrt_compositor_native **out_xcn)

Create a xrt_session and optionally a xrt_compositor_native for this system.

param[in] xsys Pointer to self. param[in] xsi Session info. param[out] out_xs Created session. param[out] out_xcn Native compositor for this session, optional.

Referenced by u_system::u_system_create(), and xrt_system_create_session().

◆ destroy

void(* xrt_system::destroy) (struct xrt_system *xsys)

Destroy the system, must be destroyed after system devices and system compositor has been destroyed.

Code consuming this interface should use xrt_system_destroy.

Parameters
xsysPointer to self

Referenced by u_system::u_system_destroy(), and xrt_system_destroy().


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