Monado OpenXR Runtime
Loading...
Searching...
No Matches
oxr_forward_declarations.h
Go to the documentation of this file.
1// Copyright 2018-2024, Collabora, Ltd.
2// Copyright 2023-2026, NVIDIA CORPORATION.
3// SPDX-License-Identifier: BSL-1.0
4/*!
5 * @file
6 * @brief Forward declarations for OpenXR state tracker structs.
7 * @ingroup oxr_main
8 */
9
10#pragma once
11
12#include "xrt/xrt_compiler.h"
13
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19
20/*
21 *
22 * Forward declare structs.
23 *
24 */
25
26struct xrt_instance;
27struct xrt_device;
28
29struct u_hashset;
30struct u_hashmap_int;
31
32struct time_state;
33
34struct oxr_logger;
35struct oxr_sink_logger;
37struct oxr_instance;
40struct oxr_path;
41struct oxr_path_store;
42struct oxr_system;
43struct oxr_session;
44struct oxr_roles;
45struct oxr_event;
46struct oxr_swapchain;
47struct oxr_space;
48struct oxr_action_set;
49struct oxr_action;
51struct oxr_handle_base;
53struct oxr_action_cache;
56struct oxr_action_input;
58struct oxr_dpad_state;
59struct oxr_binding;
62struct oxr_action_ref;
63struct oxr_hand_tracker;
64struct oxr_face_tracker_android;
65struct oxr_facial_tracker_htc;
66struct oxr_face_tracker2_fb;
67struct oxr_body_tracker_fb;
68struct oxr_body_tracker_bd;
69struct oxr_xdev_list;
70struct oxr_plane_detector_ext;
71
72
73#ifdef __cplusplus
74}
75#endif
Data associated with an Action that has been attached to a Session.
Definition oxr_objects.h:1788
The set of inputs/outputs for a single sub-action path for an action.
Definition oxr_objects.h:1766
A input action pair of a xrt_input and a xrt_device, along with the required transform.
Definition oxr_objects.h:1727
A output action pair of a xrt_output_name and a xrt_device.
Definition oxr_objects.h:1746
The reference-counted data of an action.
Definition oxr_objects.h:2088
The data associated with the attachment of an Action Set (oxr_action_set) to as Session (oxr_session)...
Definition oxr_objects.h:1669
The reference-counted data of an action set.
Definition oxr_objects.h:2006
A group of actions.
Definition oxr_objects.h:2048
A single action.
Definition oxr_objects.h:2118
Interaction profile binding state.
Definition oxr_objects.h:1575
Debug object created by the client program.
Definition oxr_objects.h:2151
Holds dpad binding state for a single interaction profile.
Definition oxr_dpad_state.h:73
Definition oxr_event.c:30
Structure tracking which extensions are enabled for a given instance.
Definition oxr_objects.h:1200
A hand tracker.
Definition oxr_hand_tracking.h:58
Used to hold diverse child handles and ensure orderly destruction.
Definition oxr_objects.h:1073
Holds all action-related state that lives at the instance level (shared across sessions).
Definition oxr_instance_action_context.h:41
This holds cached paths for subaction paths.
Definition oxr_instance_path_cache.h:27
Main object that ties everything together.
Definition oxr_objects.h:1214
A single interaction profile.
Definition oxr_objects.h:1553
Logger struct that lives on the stack, one for each call client call.
Definition oxr_logger.h:44
Path store structure for managing path storage and lookup.
Definition oxr_path_store.h:31
Internal representation of a path, item follows this struct in memory and that in turn is followed by...
Definition oxr_path_store.c:32
Helper struct that wraps xrt_system_roles for OpenXR state tracker usage.
Definition oxr_roles.h:30
Object that client program interact with.
Definition oxr_objects.h:1354
Allocate on the stack, make sure to zero initialize.
Definition oxr_logger.h:92
Can be one of several reference space types, or a space that is bound to an action.
Definition oxr_objects.h:1861
A parsed equivalent of a list of sub-action paths.
Definition oxr_objects.h:1630
A set of images used for rendering.
Definition oxr_objects.h:1904
Single or multiple devices grouped together to form a system that sessions can be created from.
Definition oxr_objects.h:1126
Time-keeping state structure.
Definition u_time.cpp:30
A simple uint64_t key to a void pointer hashmap.
Definition u_hashmap.cpp:24
Kind of bespoke hashset implementation, where the user is responsible for allocating and freeing the ...
Definition u_hashset.cpp:26
A single HMD or input device.
Definition xrt_device.h:310
This interface acts as a root object for Monado.
Definition xrt_instance.h:120
Header holding common defines.