141 usys->base.
destroy(&usys->base);
void u_system_broadcast_event(struct u_system *usys, const union xrt_session_event *xse)
Broadcast event to all sessions under this system.
Definition: u_system.c:194
void u_system_add_session(struct u_system *usys, struct xrt_session *xs, struct xrt_session_event_sink *xses)
Add a xrt_session to be tracked and to receive multiplexed events.
Definition: u_system.c:131
void u_system_remove_session(struct u_system *usys, struct xrt_session *xs, struct xrt_session_event_sink *xses)
Remove a xrt_session from tracking, it will no longer receive events, the given xses needs to match w...
Definition: u_system.c:149
void u_system_set_system_compositor(struct u_system *usys, struct xrt_system_compositor *xsysc)
Set the system compositor, used in the xrt_system_create_session call.
Definition: u_system.c:211
struct u_system * u_system_create(void)
Create a u_system.
Definition: u_system.c:112
void u_system_fill_properties(struct u_system *usys, const char *name)
Fill system properties.
Definition: u_system.c:219
Wrapper around OS threading native functions.
A wrapper around a native mutex.
Definition: os_threading.h:55
A pair of xrt_session and xrt_session_event_sink that has been registered to this system,...
Definition: u_system.h:30
A helper to implement a xrt_system, takes care of multiplexing events to sessions.
Definition: u_system.h:43
uint32_t count
Number of session and event sink pairs.
Definition: u_system.h:54
static void u_system_destroy(struct u_system **usys_ptr)
Destroy an u_system_create allocated u_system - helper function.
Definition: u_system.h:133
struct xrt_session_event_sink broadcast
Pushes events to all sessions created from this system.
Definition: u_system.h:47
struct xrt_system_compositor * xsysc
Used to implement xrt_system::create_session, can be NULL.
Definition: u_system.h:63
struct u_system_session_pair * pairs
Array of session and event sink pairs.
Definition: u_system.h:56
Used internally from producers of events to push events into session, some sinks might multiplex even...
Definition: xrt_session.h:206
The XRT representation of XrSession, this object does not have all of the functionality of a session,...
Definition: xrt_session.h:246
The system compositor handles composition for a system.
Definition: xrt_compositor.h:2414
A system is a collection of devices, policies and optionally a compositor that is organised into a ch...
Definition: xrt_system.h:62
void(* destroy)(struct xrt_system *xsys)
Destroy the system, must be destroyed after system devices and system compositor has been destroyed.
Definition: xrt_system.h:85
Union of all session events, used to return multiple events through one call.
Definition: xrt_session.h:186
Header for session object.
Header for system objects.