
org.lwjgl.openxr.FBSpatialEntitySharing Maven / Gradle / Ivy
Show all versions of lwjgl-openxr Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.openxr;
import java.nio.*;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* The XR_FB_spatial_entity_sharing extension.
*
* This extension enables spatial entities to be shared between users. If the {@link FBSpatialEntity#XR_SPACE_COMPONENT_TYPE_SHARABLE_FB SPACE_COMPONENT_TYPE_SHARABLE_FB} component has been enabled on the spatial entity, application developers may share {@code XrSpace} entities between users.
*
* In order to enable the functionality of this extension, you must pass the name of the extension into {@link XR10#xrCreateInstance CreateInstance} via the {@link XrInstanceCreateInfo}{@code ::enabledExtensionNames} parameter as indicated in the extension section.
*/
public class FBSpatialEntitySharing {
/** The extension specification version. */
public static final int XR_FB_spatial_entity_sharing_SPEC_VERSION = 1;
/** The extension name. */
public static final String XR_FB_SPATIAL_ENTITY_SHARING_EXTENSION_NAME = "XR_FB_spatial_entity_sharing";
/**
* Extends {@code XrStructureType}.
*
* Enum values:
*
*
* - {@link #XR_TYPE_SPACE_SHARE_INFO_FB TYPE_SPACE_SHARE_INFO_FB}
* - {@link #XR_TYPE_EVENT_DATA_SPACE_SHARE_COMPLETE_FB TYPE_EVENT_DATA_SPACE_SHARE_COMPLETE_FB}
*
*/
public static final int
XR_TYPE_SPACE_SHARE_INFO_FB = 1000169001,
XR_TYPE_EVENT_DATA_SPACE_SHARE_COMPLETE_FB = 1000169002;
/**
* Extends {@code XrResult}.
*
* Enum values:
*
*
* - {@link #XR_ERROR_SPACE_MAPPING_INSUFFICIENT_FB ERROR_SPACE_MAPPING_INSUFFICIENT_FB}
* - {@link #XR_ERROR_SPACE_LOCALIZATION_FAILED_FB ERROR_SPACE_LOCALIZATION_FAILED_FB}
* - {@link #XR_ERROR_SPACE_NETWORK_TIMEOUT_FB ERROR_SPACE_NETWORK_TIMEOUT_FB}
* - {@link #XR_ERROR_SPACE_NETWORK_REQUEST_FAILED_FB ERROR_SPACE_NETWORK_REQUEST_FAILED_FB}
* - {@link #XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB}
*
*/
public static final int
XR_ERROR_SPACE_MAPPING_INSUFFICIENT_FB = -1000169000,
XR_ERROR_SPACE_LOCALIZATION_FAILED_FB = -1000169001,
XR_ERROR_SPACE_NETWORK_TIMEOUT_FB = -1000169002,
XR_ERROR_SPACE_NETWORK_REQUEST_FAILED_FB = -1000169003,
XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB = -1000169004;
protected FBSpatialEntitySharing() {
throw new UnsupportedOperationException();
}
// --- [ xrShareSpacesFB ] ---
/** Unsafe version of: {@link #xrShareSpacesFB ShareSpacesFB} */
public static int nxrShareSpacesFB(XrSession session, long info, long requestId) {
long __functionAddress = session.getCapabilities().xrShareSpacesFB;
if (CHECKS) {
check(__functionAddress);
XrSpaceShareInfoFB.validate(info);
}
return callPPPI(session.address(), info, requestId, __functionAddress);
}
/**
* Shares spatial entities with specified users.
*
* C Specification
*
* The {@link #xrShareSpacesFB ShareSpacesFB} function is defined as:
*
*
* XrResult xrShareSpacesFB(
* XrSession session,
* const XrSpaceShareInfoFB* info,
* XrAsyncRequestIdFB* requestId);
*
* Description
*
* This operation is asynchronous and the runtime must post an {@link XrEventDataSpaceShareCompleteFB} event when the operation completes successfully or encounters an error. If this function returns a failure code, no event is posted. The {@code requestId} can be used to later refer to the request, such as identifying which request has completed when an {@link XrEventDataSpaceShareCompleteFB} is posted to the event queue.
*
* Valid Usage (Implicit)
*
*
* - The {@link FBSpatialEntitySharing XR_FB_spatial_entity_sharing} extension must be enabled prior to calling {@link #xrShareSpacesFB ShareSpacesFB}
* - {@code session} must be a valid {@code XrSession} handle
* - {@code info} must be a pointer to a valid {@link XrSpaceShareInfoFB} structure
* - {@code requestId} must be a pointer to an {@code XrAsyncRequestIdFB} value
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link XR10#XR_SUCCESS SUCCESS}
* - {@link XR10#XR_SESSION_LOSS_PENDING SESSION_LOSS_PENDING}
*
* - On failure, this command returns
*
* - {@link XR10#XR_ERROR_FUNCTION_UNSUPPORTED ERROR_FUNCTION_UNSUPPORTED}
* - {@link XR10#XR_ERROR_VALIDATION_FAILURE ERROR_VALIDATION_FAILURE}
* - {@link XR10#XR_ERROR_RUNTIME_FAILURE ERROR_RUNTIME_FAILURE}
* - {@link XR10#XR_ERROR_HANDLE_INVALID ERROR_HANDLE_INVALID}
* - {@link XR10#XR_ERROR_INSTANCE_LOST ERROR_INSTANCE_LOST}
* - {@link XR10#XR_ERROR_SESSION_LOST ERROR_SESSION_LOST}
* - {@link #XR_ERROR_SPACE_NETWORK_TIMEOUT_FB ERROR_SPACE_NETWORK_TIMEOUT_FB}
* - {@link #XR_ERROR_SPACE_NETWORK_REQUEST_FAILED_FB ERROR_SPACE_NETWORK_REQUEST_FAILED_FB}
* - {@link #XR_ERROR_SPACE_MAPPING_INSUFFICIENT_FB ERROR_SPACE_MAPPING_INSUFFICIENT_FB}
* - {@link #XR_ERROR_SPACE_LOCALIZATION_FAILED_FB ERROR_SPACE_LOCALIZATION_FAILED_FB}
* - {@link FBSpatialEntity#XR_ERROR_SPACE_COMPONENT_NOT_ENABLED_FB ERROR_SPACE_COMPONENT_NOT_ENABLED_FB}
* - {@link #XR_ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB}
* - {@link XR10#XR_ERROR_FEATURE_UNSUPPORTED ERROR_FEATURE_UNSUPPORTED}
*
*
*
* See Also
*
* {@link XrSpaceShareInfoFB}
*
* @param session a handle to an {@code XrSession}.
* @param info a pointer to an {@link XrSpaceShareInfoFB} structure containing information about which spatial entities to share with which users.
* @param requestId the output parameter that points to the ID of this asynchronous request.
*/
@NativeType("XrResult")
public static int xrShareSpacesFB(XrSession session, @NativeType("XrSpaceShareInfoFB const *") XrSpaceShareInfoFB info, @NativeType("XrAsyncRequestIdFB *") LongBuffer requestId) {
if (CHECKS) {
check(requestId, 1);
}
return nxrShareSpacesFB(session, info.address(), memAddress(requestId));
}
}