VR4Medical/ICI/Library/PackageCache/com.unity.xr.openxr@3903c1059bcf/Runtime/OpenXRLoaderBase.cs
2025-07-29 13:45:50 +03:00

59 lines
2.7 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace UnityEngine.XR.OpenXR
{
public partial class OpenXRLoaderBase
{
private const string LibraryName = "UnityOpenXR";
[DllImport(LibraryName, EntryPoint = "main_LoadOpenXRLibrary")]
[return: MarshalAs(UnmanagedType.U1)]
internal static extern bool Internal_LoadOpenXRLibrary(byte[] loaderPath);
[DllImport(LibraryName, EntryPoint = "main_UnloadOpenXRLibrary")]
internal static extern void Internal_UnloadOpenXRLibrary();
[DllImport(LibraryName, EntryPoint = "NativeConfig_SetCallbacks")]
static extern void Internal_SetCallbacks(OpenXRLoader.ReceiveNativeEventDelegate callback);
[DllImport(LibraryName, EntryPoint = "NativeConfig_SetApplicationInfo", CharSet = CharSet.Ansi)]
static extern void Internal_SetApplicationInfo(string applicationName, string applicationVersion, uint applicationVersionHash, string engineVersion);
// Session native imports
[DllImport(LibraryName, EntryPoint = "session_RequestExitSession")]
internal static extern void Internal_RequestExitSession();
[DllImport(LibraryName, EntryPoint = "session_InitializeSession")]
[return: MarshalAs(UnmanagedType.U1)]
internal static extern bool Internal_InitializeSession();
[DllImport(LibraryName, EntryPoint = "session_CreateSessionIfNeeded")]
[return: MarshalAs(UnmanagedType.U1)]
internal static extern bool Internal_CreateSessionIfNeeded();
[DllImport(LibraryName, EntryPoint = "session_BeginSession")]
internal static extern void Internal_BeginSession();
[DllImport(LibraryName, EntryPoint = "session_EndSession")]
internal static extern void Internal_EndSession();
[DllImport(LibraryName, EntryPoint = "session_DestroySession")]
internal static extern void Internal_DestroySession();
[DllImport(LibraryName, EntryPoint = "messagepump_PumpMessageLoop")]
static extern void Internal_PumpMessageLoop();
[DllImport(LibraryName, EntryPoint = "session_SetSuccessfullyInitialized")]
internal static extern void Internal_SetSuccessfullyInitialized([MarshalAs(UnmanagedType.I1)] bool value);
[DllImport(LibraryName, EntryPoint = "unity_ext_RequestEnableExtensionString", CharSet = CharSet.Ansi)]
[return: MarshalAs(UnmanagedType.U1)]
internal static extern bool Internal_RequestEnableExtensionString(string extensionString);
[DllImport(LibraryName, EntryPoint = "unity_ext_IsExtensionEnabled")]
[return: MarshalAs(UnmanagedType.U1)]
private static extern bool Internal_IsExtensionEnabled(string extensionName);
}
}