Monado OpenXR Runtime
Loading...
Searching...
No Matches
ipc_server_objects.c File Reference

Tracking objects to IDs. More...

#include "xrt/xrt_device.h"
#include "xrt/xrt_tracking.h"
#include "xrt/xrt_space.h"
#include "xrt/xrt_hand_tracker.h"
#include "shared/ipc_protocol.h"
#include "server/ipc_server.h"
#include "server/ipc_server_objects.h"
#include <assert.h>
#include <string.h>
Include dependency graph for ipc_server_objects.c:

Functions

xrt_result_t ipc_server_objects_get_xdev_and_validate (volatile struct ipc_client_state *ics, uint32_t id, struct xrt_device **out_xdev)
 Get a device by ID, must only be called from the per client thread as this function accesses the client state's memory.
 
xrt_result_t ipc_server_objects_get_xdev_id_or_add (volatile struct ipc_client_state *ics, struct xrt_device *xdev, uint32_t *out_id)
 Get a device ID for a given device object, must only be called from the per client thread as this function accesses the client state's memory.
 
xrt_result_t ipc_server_objects_get_xtrack_and_validate (volatile struct ipc_client_state *ics, uint32_t id, struct xrt_tracking_origin **out_xtrack)
 Get a tracking origin by ID, must only be called from the per client thread as this function accesses the client state's memory.
 
xrt_result_t ipc_server_objects_get_xtrack_id_or_add (volatile struct ipc_client_state *ics, struct xrt_tracking_origin *xtrack, uint32_t *out_id)
 Get a tracking origin ID for a given tracking origin object, must only be called from the per client thread as this function accesses the client state's memory.
 
xrt_result_t ipc_server_objects_get_xspc_and_validate (volatile struct ipc_client_state *ics, uint32_t id, struct xrt_space **out_xspc)
 Get a space by ID, must only be called from the per client thread.
 
xrt_result_t ipc_server_objects_get_xspc_id_or_add (volatile struct ipc_client_state *ics, struct xrt_space *xspc, uint32_t *out_id)
 Track a space and return its ID.
 
xrt_result_t ipc_server_objects_destroy_xspc (volatile struct ipc_client_state *ics, uint32_t id)
 Destroy a tracked space.
 
xrt_result_t ipc_server_objects_get_xht_and_validate (volatile struct ipc_client_state *ics, uint32_t id, struct xrt_hand_tracker **out_xht)
 Get a hand tracker by ID, must only be called from the per client thread.
 
xrt_result_t ipc_server_objects_get_xht_id_or_add (volatile struct ipc_client_state *ics, struct xrt_hand_tracker *xht, uint32_t *out_id)
 Track a newly created hand tracker and return its ID.
 
xrt_result_t ipc_server_objects_destroy_xht (volatile struct ipc_client_state *ics, uint32_t id)
 Destroy a tracked hand tracker.
 

Detailed Description

Tracking objects to IDs.

Author
Jakob Bornecrantz tborn.nosp@m.ecra.nosp@m.ntz@n.nosp@m.vidi.nosp@m.a.com