23#include "openvr_interfaces_unified.h"
24#include "IVRClientCore_003.h"
29namespace xrt::state_trackers::openvr {
31#define SUPPORTED_CORE_INTERFACES(_) _(VRClientCore, _003)
32#define SUPPORTED_INTERFACES(_) \
33 _(VRRenderModels, _006) \
34 _(VRChaperone, _003) \
35 _(VRChaperone, _004) \
36 _(VRChaperoneSetup, _005) \
37 _(VRChaperoneSetup, _006) \
43 _(VRCompositor, _022) \
44 _(VRCompositor, _024) _(VRCompositor, _026) _(VRCompositor, _027) _(VRCompositor, _028) _(VRCompositor, _029)
61 std::shared_ptr<Compositor> compositor{};
62 std::shared_ptr<Devices> devices{};
63 std::shared_ptr<Events> events{};
65 vr::EVRApplicationType application_type{};
67#define XRTVR_INTERFACE_MEMBER(name, version) std::shared_ptr<vr::I##name##version> name##version{nullptr};
68 SUPPORTED_INTERFACES(XRTVR_INTERFACE_MEMBER)
69#undef XRTVR_INTERFACE_MEMBER
75 return this->application_type == vr::EVRApplicationType::VRApplication_Background;
80 Init(vr::EVRApplicationType eApplicationType,
const char *pStartupInfo)
override;
86 IsInterfaceVersionValid(
const char *pchInterfaceVersion)
override;
89 GetGenericInterface(
const char *pchNameAndVersion, vr::EVRInitError *peError)
override;
92 BIsHmdPresent()
override;
95 GetEnglishStringForHmdError(vr::EVRInitError eError)
override;
98 GetIDForVRInitError(vr::EVRInitError eError)
override;
Definition XRTVRClientCore.hpp:47
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.