94 usysd->base.
destroy(&usysd->base);
struct xrt_device * u_system_devices_get_ht_device(struct xrt_system_devices *xsysd, enum xrt_input_name name)
Helper function.
Definition: u_system_helpers.c:313
static struct xrt_device * u_system_devices_get_ht_device_conforming_left(struct xrt_system_devices *xsysd)
Helper to get the first left (conforming) hand-tracking device, uses u_system_devices_get_ht_device.
Definition: u_system_helpers.h:218
void u_system_devices_static_finalize(struct u_system_devices_static *usysds, struct xrt_device *left, struct xrt_device *right, struct xrt_device *gamepad)
Finalizes the static struct with the given input devices, the system devices will always return these...
Definition: u_system_helpers.c:239
struct u_system_devices_static * u_system_devices_static_allocate(void)
Allocates a empty u_system_devices to be filled in by the caller, only the destroy function is filled...
Definition: u_system_helpers.c:227
static struct xrt_device * u_system_devices_get_ht_device_conforming_right(struct xrt_system_devices *xsysd)
Helper to get the first (conforming) right hand-tracking device, uses u_system_devices_get_ht_device.
Definition: u_system_helpers.h:230
void u_system_devices_close(struct xrt_system_devices *xsysd)
Destroys all devices and clears out the frame context, doesn't free the struct itself,...
Definition: u_system_helpers.c:213
static struct xrt_device * u_system_devices_get_ht_device_unobstructed_right(struct xrt_system_devices *xsysd)
Helper to get the first (unobstructed) right hand-tracking device, uses u_system_devices_get_ht_devic...
Definition: u_system_helpers.h:206
struct u_system_devices * u_system_devices_allocate(void)
Allocates a empty u_system_devices to be filled in by the caller, only the destroy function is filled...
Definition: u_system_helpers.c:204
xrt_result_t u_system_devices_create_from_prober(struct xrt_instance *xinst, struct xrt_session_event_sink *broadcast, struct xrt_system_devices **out_xsysd, struct xrt_space_overseer **out_xso)
Takes a xrt_instance, gets the prober from it and then uses the prober to allocate a filled in u_syst...
Definition: u_system_helpers.c:283
static struct u_system_devices * u_system_devices(struct xrt_system_devices *xsysd)
Small inline helper to cast from xrt_system_devices.
Definition: u_system_helpers.h:52
static struct u_system_devices_static * u_system_devices_static(struct xrt_system_devices *xsysd)
Small inline helper to cast from xrt_system_devices.
Definition: u_system_helpers.h:127
static struct xrt_device * u_system_devices_get_ht_device_unobstructed_left(struct xrt_system_devices *xsysd)
Helper to get the first left (unobstructed) hand-tracking device, uses u_system_devices_get_ht_device...
Definition: u_system_helpers.h:194
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition: xrt_defines.h:1313
enum xrt_result xrt_result_t
Result type used across Monado.
Helper struct to manage devices by implementing the xrt_system_devices, this has only static device r...
Definition: u_system_helpers.h:111
struct xrt_system_roles cached
Is automatically returned.
Definition: u_system_helpers.h:115
struct xrt_reference feature_use[XRT_DEVICE_FEATURE_MAX_ENUM]
Tracks usage of device features.
Definition: u_system_helpers.h:118
Helper struct to manage devices by implementing the xrt_system_devices.
Definition: u_system_helpers.h:36
struct xrt_tracking_origin origin
Optional shared tracking origin.
Definition: u_system_helpers.h:43
struct xrt_frame_context xfctx
Optional frame context for visual tracking.
Definition: u_system_helpers.h:40
A single HMD or input device.
Definition: xrt_device.h:281
enum xrt_device_name name
Enum identifier of the device.
Definition: xrt_device.h:283
Object used to track all sinks and frame producers in a graph.
Definition: xrt_frame.h:108
This interface acts as a root object for Monado.
Definition: xrt_instance.h:116
A base class for reference counted objects.
Definition: xrt_defines.h:97
Used internally from producers of events to push events into session, some sinks might multiplex even...
Definition: xrt_session.h:219
Object that oversees and manages spaces, one created for each XR system.
Definition: xrt_space.h:96
A collection of xrt_device, and an interface for identifying the roles they have been assigned.
Definition: xrt_system.h:221
void(* destroy)(struct xrt_system_devices *xsysd)
Destroy all the devices that are owned by this system devices.
Definition: xrt_system.h:355
Data associating a device index (in xrt_system_devices::xdevs) with a given "role" for dynamic role s...
Definition: xrt_system.h:161
A tracking system or device origin.
Definition: xrt_tracking.h:71
Header for xrt_instance object.
Internal result type for XRT.
Header for system objects.
Header defining the tracking system integration in Monado.