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)
59 std::shared_ptr<Compositor> compositor{};
60 std::shared_ptr<Devices> devices{};
61 std::shared_ptr<Events> events{};
63 vr::EVRApplicationType application_type{};
65#define XRTVR_INTERFACE_MEMBER(name, version) std::shared_ptr<vr::I##name##version> name##version{nullptr};
66 SUPPORTED_INTERFACES(XRTVR_INTERFACE_MEMBER)
67#undef XRTVR_INTERFACE_MEMBER
73 return this->application_type == vr::EVRApplicationType::VRApplication_Background;
78 Init(vr::EVRApplicationType eApplicationType,
const char *pStartupInfo)
override;
84 IsInterfaceVersionValid(
const char *pchInterfaceVersion)
override;
87 GetGenericInterface(
const char *pchNameAndVersion, vr::EVRInitError *peError)
override;
90 BIsHmdPresent()
override;
93 GetEnglishStringForHmdError(vr::EVRInitError eError)
override;
96 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.
Main compositor server interface.
Definition xrt_compositor.h:2290
This interface acts as a root object for Monado.
Definition xrt_instance.h:121
The XRT representation of XrSession, this object does not have all of the functionality of a session,...
Definition xrt_session.h:277
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:2531
A collection of xrt_device, and an interface for identifying the roles they have been assigned.
Definition xrt_system.h:215
A system is a collection of devices, policies and optionally a compositor that is organised into a ch...
Definition xrt_system.h:64
Header declaring XRT graphics interfaces.
Header for xrt_instance object.
Header for session object.
Header for system objects.