12#include "openvr_driver.h"
16inline const char *IVRBlockQueue_Version =
"IVRBlockQueue_005";
18typedef enum EBlockQueueError
20 EBlockQueueError_BlockQueueError_None = 0,
21 EBlockQueueError_BlockQueueError_QueueAlreadyExists = 1,
22 EBlockQueueError_BlockQueueError_QueueNotFound = 2,
23 EBlockQueueError_BlockQueueError_BlockNotAvailable = 3,
24 EBlockQueueError_BlockQueueError_InvalidHandle = 4,
25 EBlockQueueError_BlockQueueError_InvalidParam = 5,
26 EBlockQueueError_BlockQueueError_ParamMismatch = 6,
27 EBlockQueueError_BlockQueueError_InternalError = 7,
28 EBlockQueueError_BlockQueueError_AlreadyInitialized = 8,
29 EBlockQueueError_BlockQueueError_OperationIsServerOnly = 9,
30 EBlockQueueError_BlockQueueError_TooManyConnections = 10,
33typedef enum EBlockQueueReadType
35 EBlockQueueReadType_BlockQueueRead_Latest = 0,
36 EBlockQueueReadType_BlockQueueRead_New = 1,
37 EBlockQueueReadType_BlockQueueRead_Next = 2,
45 virtual vr::EBlockQueueError
46 Create(vr::PropertyContainerHandle_t *pulQueueHandle,
48 uint32_t unBlockDataSize,
49 uint32_t unBlockHeaderSize,
50 uint32_t unBlockCount,
52 virtual vr::EBlockQueueError
53 Connect(vr::PropertyContainerHandle_t *pulQueueHandle,
char *pchPath);
54 virtual vr::EBlockQueueError
55 Destroy(vr::PropertyContainerHandle_t ulQueueHandle);
56 virtual vr::EBlockQueueError
57 AcquireWriteOnlyBlock(vr::PropertyContainerHandle_t ulQueueHandle,
58 vr::PropertyContainerHandle_t *pulBlockHandle,
60 virtual vr::EBlockQueueError
61 ReleaseWriteOnlyBlock(vr::PropertyContainerHandle_t ulQueueHandle, vr::PropertyContainerHandle_t ulBlockHandle);
62 virtual vr::EBlockQueueError
63 WaitAndAcquireReadOnlyBlock(vr::PropertyContainerHandle_t ulQueueHandle,
64 vr::PropertyContainerHandle_t *pulBlockHandle,
66 vr::EBlockQueueReadType eReadType,
67 uint32_t unTimeoutMs);
68 virtual vr::EBlockQueueError
69 AcquireReadOnlyBlock(vr::PropertyContainerHandle_t ulQueueHandle,
70 vr::PropertyContainerHandle_t *pulBlockHandle,
72 vr::EBlockQueueReadType eReadType);
73 virtual vr::EBlockQueueError
74 ReleaseReadOnlyBlock(vr::PropertyContainerHandle_t ulQueueHandle, vr::PropertyContainerHandle_t ulBlockHandle);
75 virtual vr::EBlockQueueError
76 QueueHasReader(vr::PropertyContainerHandle_t ulQueueHandle,
bool *pbHasReaders);
This interface is missing in the C++ header but present in the C one, and the lighthouse driver requi...
Definition: blockqueue.hpp:43
Definitions missing from C++ header, present in C.
Definition: blockqueue.hpp:15