24#include "openvr_interfaces_unified.h"
25#include "IVRClientCore_003.h"
30namespace xrt::state_trackers::openvr {
32#define SUPPORTED_CORE_INTERFACES(_) _(VRClientCore, _003)
33#define SUPPORTED_INTERFACES(_) \
34 _(VRApplications, _001) \
35 _(VRApplications, _002) \
36 _(VRApplications, _003) \
37 _(VRApplications, _004) \
38 _(VRApplications, _005) \
39 _(VRApplications, _006) \
40 _(VRApplications, _007) \
41 _(VRApplications, _008) \
42 _(VRChaperone, _002) \
43 _(VRChaperone, _003) \
44 _(VRChaperone, _004) \
45 _(VRChaperoneSetup, _004) \
46 _(VRChaperoneSetup, _005) \
47 _(VRChaperoneSetup, _006) \
48 _(VRCompositor, _005) \
49 _(VRCompositor, _006) \
50 _(VRCompositor, _007) \
51 _(VRCompositor, _008) \
52 _(VRCompositor, _009) \
53 _(VRCompositor, _010) \
54 _(VRCompositor, _011) \
55 _(VRCompositor, _012) \
56 _(VRCompositor, _013) \
57 _(VRCompositor, _014) \
58 _(VRCompositor, _015) \
59 _(VRCompositor, _016) \
60 _(VRCompositor, _018) \
61 _(VRCompositor, _019) \
62 _(VRCompositor, _020) \
63 _(VRCompositor, _021) \
64 _(VRCompositor, _022) \
65 _(VRCompositor, _024) \
66 _(VRCompositor, _026) \
67 _(VRCompositor, _027) \
68 _(VRCompositor, _028) \
69 _(VRCompositor, _029) \
70 _(VRControlPanel, _001) \
72 _(VRDriverManager, _001) \
73 _(VRExtendedDisplay, _001) \
74 _(VRHeadsetView, _001) \
84 _(VRIPCResourceManagerClient, _001) \
85 _(VRIPCResourceManagerClient, _002) \
86 _(VRNotifications, _001) \
87 _(VRNotifications, _002) \
113 _(VROverlayView, _003) \
114 _(VRRenderModels, _001) \
115 _(VRRenderModels, _002) \
116 _(VRRenderModels, _004) \
117 _(VRRenderModels, _005) \
118 _(VRRenderModels, _006) \
119 _(VRResources, _001) \
120 _(VRScreenshots, _001) \
121 _(VRSettings, _001) \
122 _(VRSettings, _002) \
123 _(VRSettings, _003) \
124 _(VRSpatialAnchors, _001) \
144 _(VRTrackedCamera, _001) \
145 _(VRTrackedCamera, _002) \
146 _(VRTrackedCamera, _003) \
147 _(VRTrackedCamera, _004) \
148 _(VRTrackedCamera, _005) \
149 _(VRTrackedCamera, _006)
166 std::shared_ptr<Compositor> compositor{};
167 std::shared_ptr<Devices> devices{};
168 std::shared_ptr<Events> events{};
169 std::shared_ptr<Input> input{};
171 vr::EVRApplicationType application_type{};
173#define XRTVR_INTERFACE_MEMBER(name, version) std::shared_ptr<vr::I##name##version> name##version{nullptr};
174 SUPPORTED_INTERFACES(XRTVR_INTERFACE_MEMBER)
175#undef XRTVR_INTERFACE_MEMBER
181 return this->application_type == vr::EVRApplicationType::VRApplication_Background;
186 Init(vr::EVRApplicationType eApplicationType,
const char *pStartupInfo)
override;
192 IsInterfaceVersionValid(
const char *pchInterfaceVersion)
override;
195 GetGenericInterface(
const char *pchNameAndVersion, vr::EVRInitError *peError)
override;
198 BIsHmdPresent()
override;
201 GetEnglishStringForHmdError(vr::EVRInitError eError)
override;
204 GetIDForVRInitError(vr::EVRInitError eError)
override;
Definition XRTVRClientCore.hpp:152
Implementation of compositor-related functionality for OpenVR.
Implementation of a dynamic OpenVR devices array using the xrt_system_devices interface.
Implementation of OpenVR event handling and related functionality.
This interface acts as a way to store per-application policy for xrt_instance.
Definition xrt_app_policy.h:36
This interface acts as a way to store per-application policy for xrt_system.
Definition xrt_app_policy.h:142
Main compositor server interface.
Definition xrt_compositor.h:2218
This interface acts as a root object for Monado.
Definition xrt_instance.h:124
The XRT representation of XrSession, this object does not have all of the functionality of a session,...
Definition xrt_session.h:264
Object that oversees and manages spaces, one created for each XR system.
Definition xrt_space.h:97
The system compositor handles composition for a system.
Definition xrt_compositor.h:2479
A collection of xrt_device, and an interface for identifying the roles they have been assigned.
Definition xrt_system.h:216
A system is a collection of devices, policies and optionally a compositor that is organised into a ch...
Definition xrt_system.h:65
Header declaring XRT graphics interfaces.
Header for xrt_instance object.
Header for session object.
Header for system objects.