VTK  9.4.20250104
XrConnectionExtensions.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) Microsoft
3// SPDX-License-Identifier: BSD-3-Clause AND Apache-2.0
24#ifndef XrConnectionExtensions_h
25#define XrConnectionExtensions_h
26
27#if XR_MSFT_holographic_remoting
28#define FOR_EACH_HAR_EXPERIMENTAL_EXTENSION_FUNCTION(_) \
29 _(xrRemotingSetContextPropertiesMSFT) \
30 _(xrRemotingConnectMSFT) \
31 _(xrRemotingListenMSFT) \
32 _(xrRemotingDisconnectMSFT) \
33 _(xrRemotingGetConnectionStateMSFT) \
34 _(xrRemotingSetSecureConnectionClientCallbacksMSFT) \
35 _(xrRemotingSetSecureConnectionServerCallbacksMSFT) \
36 _(xrCreateRemotingDataChannelMSFT) \
37 _(xrDestroyRemotingDataChannelMSFT) \
38 _(xrGetRemotingDataChannelStateMSFT) \
39 _(xrSendRemotingDataMSFT) \
40 _(xrRetrieveRemotingDataMSFT)
41#else
42#define FOR_EACH_HAR_EXPERIMENTAL_EXTENSION_FUNCTION(_)
43#endif
44
45#define FOR_EACH_EXTENSION_FUNCTION(_) FOR_EACH_HAR_EXPERIMENTAL_EXTENSION_FUNCTION(_)
46
47#define GET_INSTANCE_PROC_ADDRESS(name) \
48 (void)xrGetInstanceProcAddr( \
49 instance, #name, reinterpret_cast<PFN_xrVoidFunction*>(const_cast<PFN_##name*>(&name)));
50#define DEFINE_PROC_MEMBER(name) PFN_##name name{ nullptr };
51
52namespace xr
53{
54VTK_ABI_NAMESPACE_BEGIN
56{
58
60 void PopulateDispatchTable(XrInstance instance)
61 {
63 }
64};
65VTK_ABI_NAMESPACE_END
66} // namespace xr
67
68#undef DEFINE_PROC_MEMBER
69#undef GET_INSTANCE_PROC_ADDRESS
70#undef FOR_EACH_EXTENSION_FUNCTION
71
72#endif
#define DEFINE_PROC_MEMBER(name)
#define FOR_EACH_EXTENSION_FUNCTION(_)
#define GET_INSTANCE_PROC_ADDRESS(name)
void PopulateDispatchTable(XrInstance instance)
FOR_EACH_EXTENSION_FUNCTION(DEFINE_PROC_MEMBER)