Monado OpenXR Runtime
Loading...
Searching...
No Matches
XRTVRIOBuffer.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 latest IVRIOBuffer_002 interface version.
6 *
7 * @author Beyley Cardellio <ep1cm1n10n123@gmail.com>
8 * @ingroup openvr_interfaces
9 */
10
11#pragma once
12
13#include "openvr_interfaces_unified.h"
14#include "openvr_forward_macros.h"
15
16#include "XRTVRClientCore.hpp"
17
18
19namespace xrt::state_trackers::openvr {
20
21using namespace vr;
22
23class XRTVRIOBuffer_002 : public vr::IVRIOBuffer_002
24{
25private:
27
28public:
30
31 virtual ~XRTVRIOBuffer_002() = default;
32
33 FnTable_IVRIOBuffer_002();
34
35 vr::EIOBufferError
36 Open(const char *pchPath,
37 vr::EIOBufferMode mode,
38 uint32_t unElementSize,
39 uint32_t unElements,
40 vr::IOBufferHandle_t *pulBuffer) override;
41
42 vr::EIOBufferError
43 Close(vr::IOBufferHandle_t ulBuffer) override;
44
45 vr::EIOBufferError
46 Read(vr::IOBufferHandle_t ulBuffer, void *pDst, uint32_t unBytes, uint32_t *punRead) override;
47
48 vr::EIOBufferError
49 Write(vr::IOBufferHandle_t ulBuffer, void *pSrc, uint32_t unBytes) override;
50
51 vr::PropertyContainerHandle_t
52 PropertyContainer(vr::IOBufferHandle_t ulBuffer) override;
53
54 bool
55 HasReaders(vr::IOBufferHandle_t ulBuffer) override;
56};
57
58} // namespace xrt::state_trackers::openvr
Implementation of the latest IVRClientCore interface version.
Definition XRTVRClientCore.hpp:152
Definition XRTVRIOBuffer.hpp:24
Definitions missing from C++ header, present in C.
Definition blockqueue.hpp:15