Monado OpenXR Runtime
u_session Struct Reference

This is a helper struct that fully implements xrt_session object. More...

#include <util/u_session.h>

Inheritance diagram for u_session:
Collaboration diagram for u_session:

Public Member Functions

struct u_sessionu_session_create (struct u_system *usys)
 Create a session, optionally pass in a u_system. More...
 
void u_session_event_push (struct u_session *us, const union xrt_session_event *xse)
 Push an event to this session. More...
 
void u_session_event_pop (struct u_session *us, union xrt_session_event *out_xse)
 Pop a single event from this session, if no event is available then the type of the event will be XRT_SESSION_EVENT_NONE. More...
 

Data Fields

struct xrt_session base
 
struct xrt_session_event_sink sink
 Pushes events to this session, used to share to other components. More...
 
struct u_systemusys
 Owning system, optional. More...
 
struct {
   struct os_mutex   mutex
 
   struct u_session_event *   ptr
 
events
 
- Data Fields inherited from xrt_session
xrt_result_t(* poll_events )(struct xrt_session *xs, union xrt_session_event *out_xse)
 Poll a single event from this session, if no event is available then the type of the event will be XRT_SESSION_EVENT_NONE. More...
 
void(* destroy )(struct xrt_session *xs)
 Destroy the session, must be destroyed after the native compositor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from xrt_session
static XRT_CHECK_RESULT xrt_result_t xrt_session_poll_events (struct xrt_session *xs, union xrt_session_event *out_xse)
 Poll a single event from this session, if no event is available then the type of the event will be XRT_SESSION_EVENT_NONE. More...
 
static void xrt_session_destroy (struct xrt_session **xs_ptr)
 Destroy an xrt_session - helper function. More...
 

Detailed Description

This is a helper struct that fully implements xrt_session object.

The use of u_system is optional, but if not used you will need to track the session and signal it's destruction yourself.

Field Documentation

◆ sink

struct xrt_session_event_sink u_session::sink

Pushes events to this session, used to share to other components.

◆ usys

struct u_system* u_session::usys

Owning system, optional.


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