16#include "oxr_extension_support.h"
41#define OXR_SESSION_CHECK_ATTACHED_AND_RET(SESS, LOG) \
43 if (!oxr_session_action_context_has_attached_act_sets(&(SESS)->action_context)) { \
44 return oxr_error(LOG, XR_ERROR_ACTIONSET_NOT_ATTACHED, \
45 "ActionSet(s) have not been attached to this session"); \
111#define OXR_PATH_MEMBER(X) XrPath X;
114#undef OXR_PATH_MEMBER
132XRT_NONNULL_ALL XRT_CHECK_RESULT XrResult
160 uint32_t act_set_key,
Wrapper around OS threading native functions.
Forward declarations for OpenXR state tracker structs.
Holds interaction profile array related functions.
#define OXR_PATH_MEMBER(X)
Currently bound interaction profile.
Definition oxr_session_action_context.h:111
Provides a utility macro for dealing with subaction paths.
#define OXR_FOR_EACH_VALID_SUBACTION_PATH(_)
Expansion macro (x-macro) that calls the macro you pass with the shorthand name of each valid subacti...
Definition oxr_subaction.h:28
A wrapper around a native mutex.
Definition os_threading.h:69
The data associated with the attachment of an Action Set (oxr_action_set) to as Session (oxr_session)...
Definition oxr_objects.h:1588
Manages an array of interaction profiles, does not have a init function but must be zero initialized ...
Definition oxr_interaction_profile_array.h:29
This holds all of the action state that belongs on the session level.
Definition oxr_session_action_context.h:62
struct os_mutex sync_actions_mutex
Protects access to dynamic_roles_generation_id during sync actions.
Definition oxr_session_action_context.h:104
struct oxr_interaction_profile_array profiles_on_attachment
Clone of all suggested binding profiles at the point of action set/session attachment.
Definition oxr_session_action_context.h:98
struct u_hashmap_int * act_sets_attachments_by_key
A map of action set key to action set attachments.
Definition oxr_session_action_context.h:74
uint64_t dynamic_roles_generation_id
Cache of the last known system roles generation_id.
Definition oxr_session_action_context.h:101
size_t action_set_attachment_count
Length of oxr_session_action_context::act_set_attachments.
Definition oxr_session_action_context.h:87
struct oxr_action_set_attachment * act_set_attachments
An array of action set attachments that this session owns.
Definition oxr_session_action_context.h:82
A simple uint64_t key to a void pointer hashmap.
Definition u_hashmap.cpp:24