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(_) _(VRCompositor, _029) _(VRRenderModels, _006) _(VRSystem, _026) _(VRSystem, _023)
47 std::shared_ptr<Compositor> compositor{};
48 std::shared_ptr<Devices> devices{};
49 std::shared_ptr<Events> events{};
51#define XRTVR_INTERFACE_MEMBER(name, version) std::shared_ptr<vr::I##name##version> name##version{nullptr};
52 SUPPORTED_INTERFACES(XRTVR_INTERFACE_MEMBER)
53#undef XRTVR_INTERFACE_MEMBER
57 Init(vr::EVRApplicationType eApplicationType,
const char *pStartupInfo)
override;
63 IsInterfaceVersionValid(
const char *pchInterfaceVersion)
override;
66 GetGenericInterface(
const char *pchNameAndVersion, vr::EVRInitError *peError)
override;
69 BIsHmdPresent()
override;
72 GetEnglishStringForHmdError(vr::EVRInitError eError)
override;
75 GetIDForVRInitError(vr::EVRInitError eError)
override;
Definition XRTVRClientCore.hpp:35
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:2268
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:2496
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.