Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRApplications_005.hpp
Go to the documentation of this file.
1// Copyright 2026, Beyley Cardellio
2// SPDX-License-Identifier: BSL-1.0
3/*!
4 * @file
5 * @brief Implementation of the IVRApplications interface version 005.
6 *
7 * @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
8 * @ingroup openvr_interfaces
9 */
10
11#pragma once
12
15
16#include "openvr_interfaces_unified.h"
17#include "openvr_forward_macros.h"
18
21
22
23namespace xrt::state_trackers::openvr {
24
25using namespace vr;
26
27class XRTVRApplications_005 : public XRTVRApplications_006, public vr::IVRApplications_005
28{
29public:
30 // @todo Remove when clang-format is updated in CI
31 // clang-format off
33 // clang-format on
34
35 FnTable_IVRApplications_005();
36
37 ForwardDeclareBase_IVRApplications(XRTVRApplications_006);
38
39 Forward_IVRApplications_AddApplicationManifest();
40 Forward_IVRApplications_RemoveApplicationManifest();
41 Forward_IVRApplications_IsApplicationInstalled();
42 Forward_IVRApplications_GetApplicationCount();
43
44 EVRApplicationError
45 GetApplicationKeyByIndex(uint32_t unApplicationIndex,
46 char *pchAppKeyBuffer,
47 uint32_t unAppKeyBufferLen) override
48 {
49 openvr_logger logger;
50 OPENVR_LOGGER_INIT(logger);
51
53 logger,
54 "GetApplicationKeyByIndex(unApplicationIndex=%llu, pchAppKeyBuffer=%p, "
55 "unAppKeyBufferLen=%llu) -> VRApplicationError_None",
56 EVRApplicationError::VRApplicationError_None, static_cast<unsigned long long>(unApplicationIndex),
57 static_cast<const void *>(pchAppKeyBuffer), static_cast<unsigned long long>(unAppKeyBufferLen));
58 }
59
60 EVRApplicationError
61 GetApplicationKeyByProcessId(uint32_t unProcessId, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen) override
62 {
63 openvr_logger logger;
64 OPENVR_LOGGER_INIT(logger);
65
67 logger,
68 "GetApplicationKeyByProcessId(unProcessId=%llu, pchAppKeyBuffer=%p, "
69 "unAppKeyBufferLen=%llu) -> VRApplicationError_None",
70 EVRApplicationError::VRApplicationError_None, static_cast<unsigned long long>(unProcessId),
71 static_cast<const void *>(pchAppKeyBuffer), static_cast<unsigned long long>(unAppKeyBufferLen));
72 }
73
74 Forward_IVRApplications_LaunchApplication();
75 Forward_IVRApplications_LaunchTemplateApplication();
76 Forward_IVRApplications_LaunchDashboardOverlay();
77 Forward_IVRApplications_CancelApplicationLaunch();
78 Forward_IVRApplications_IdentifyApplication();
79 Forward_IVRApplications_GetApplicationProcessId();
80 Forward_IVRApplications_GetApplicationsErrorNameFromEnum();
81
82 uint32_t
83 GetApplicationPropertyString(const char *pchAppKey,
84 EVRApplicationProperty eProperty,
85 char *pchPropertyValueBuffer,
86 uint32_t unPropertyValueBufferLen,
87 EVRApplicationError *peError = nullptr) override
88 {
89 openvr_logger logger;
90 OPENVR_LOGGER_INIT(logger);
91
92 SET_ERROR(peError, EVRApplicationError::VRApplicationError_None);
93
95 logger,
96 "GetApplicationPropertyString(pchAppKey=%s, eProperty=?, "
97 "pchPropertyValueBuffer=%p, unPropertyValueBufferLen=%llu, peError=%p) -> 0",
98 0, pchAppKey, static_cast<const void *>(pchPropertyValueBuffer),
99 static_cast<unsigned long long>(unPropertyValueBufferLen), static_cast<const void *>(peError));
100 }
101
102 Forward_IVRApplications_GetApplicationPropertyBool();
103 Forward_IVRApplications_GetApplicationPropertyUint64();
104 Forward_IVRApplications_SetApplicationAutoLaunch();
105 Forward_IVRApplications_GetApplicationAutoLaunch();
106
107 EVRApplicationError
108 GetStartingApplication(char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen) override
109 {
110 openvr_logger logger;
111 OPENVR_LOGGER_INIT(logger);
112
114 logger,
115 "GetStartingApplication(pchAppKeyBuffer=%p, unAppKeyBufferLen=%llu) -> VRApplicationError_None",
116 EVRApplicationError::VRApplicationError_None, static_cast<const void *>(pchAppKeyBuffer),
117 static_cast<unsigned long long>(unAppKeyBufferLen));
118 }
119
120 Forward_IVRApplications_GetTransitionState();
121 Forward_IVRApplications_PerformApplicationPrelaunchCheck();
122 Forward_IVRApplications_GetApplicationsTransitionStateNameFromEnum();
123 Forward_IVRApplications_IsQuitUserPromptRequested();
124 Forward_IVRApplications_LaunchInternalProcess();
125};
126
127}; // namespace xrt::state_trackers::openvr
Implementation of the latest IVRApplications_008 interface version.
Implementation of the IVRApplications interface version 006.
Definition XRTVRApplications_005.hpp:28
Definition XRTVRApplications_006.hpp:26
Definition XRTVRClientCore.hpp:152
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15
Implementation of error code conversion for OpenVR.
#define SET_ERROR(error_ptr, ERROR)
Helper macro to set an OpenVR error pointer if it's not null.
Definition openvr_error.hpp:23
Logging functions.
#define OPENVR_LOG_UNIMPLEMENTED_RET(logger, fmt, ret,...)
Specialized macro for logging an unimplemented function and returning a value.
Definition openvr_logger.hpp:57
Definition openvr_logger.hpp:30