ci: Update Cryville.Audio

This commit is contained in:
2025-06-21 01:39:47 +08:00
parent 0a223af698
commit a02885704d
33 changed files with 1619 additions and 1335 deletions

View File

@@ -43,9 +43,6 @@
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with AAudio.
</summary>
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Device">
<inheritdoc />
</member>
@@ -58,6 +55,9 @@
<member name="P:Cryville.Audio.AAudio.AAudioStream.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Position">
<inheritdoc />
</member>
@@ -70,6 +70,9 @@
<member name="M:Cryville.Audio.AAudio.AAudioStream.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStream.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.AAudio.AAudioStreamBuilder">
<summary>
An <see cref="T:Cryville.Audio.IAudioDevice" /> that interacts with AAudio.
@@ -109,73 +112,73 @@
<member name="P:Cryville.Audio.AAudio.AAudioStreamBuilder.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAllowedCapturePolicy(System.IntPtr,Android.AAudio.Native.aaudio_allowed_capture_policy_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAllowedCapturePolicy(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_allowed_capture_policy_t)">
<remarks>Available since API level 29.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAttributionTag(System.IntPtr,System.String)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAttributionTag(System.IntPtr,System.String)">
<remarks>Available since API level 31.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setChannelMask(System.IntPtr,Android.AAudio.Native.aaudio_channel_mask_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setChannelMask(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_channel_mask_t)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setContentType(System.IntPtr,Android.AAudio.Native.aaudio_content_type_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setContentType(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_content_type_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setInputPreset(System.IntPtr,Android.AAudio.Native.aaudio_input_preset_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setInputPreset(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_input_preset_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setIsContentSpatialized(System.IntPtr,System.Boolean)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setIsContentSpatialized(System.IntPtr,System.Boolean)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPackageName(System.IntPtr,System.String)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPackageName(System.IntPtr,System.String)">
<remarks>Available since API level 31.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPrivacySensitive(System.IntPtr,System.Boolean)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPrivacySensitive(System.IntPtr,System.Boolean)">
<remarks>Available since API level 30.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSessionId(System.IntPtr,Android.AAudio.Native.aaudio_session_id_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSessionId(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_session_id_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSpatializationBehavior(System.IntPtr,Android.AAudio.Native.aaudio_spatialization_behavior_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSpatializationBehavior(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_spatialization_behavior_t)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setUsage(System.IntPtr,Android.AAudio.Native.aaudio_usage_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setUsage(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_usage_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getAllowedCapturePolicy(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getAllowedCapturePolicy(System.IntPtr)">
<remarks>Available since API level 29.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getChannelMask(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getChannelMask(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getContentType(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getContentType(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getInputPreset(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getInputPreset(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSessionId(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSessionId(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSpatializationBehavior(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSpatializationBehavior(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getUsage(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getUsage(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_isContentSpatialized(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_isContentSpatialized(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_isPrivacySensitive(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_isPrivacySensitive(System.IntPtr)">
<remarks>Available since API level 30.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_release(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_release(System.IntPtr)">
<remarks>Available since API level 30.</remarks>
</member>
</members>

View File

@@ -32,17 +32,41 @@
<member name="M:Cryville.Audio.OpenSLES.Engine.GetDevices(Cryville.Audio.DataFlow)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OpenSLException">
<summary>
Exception occurring in OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="T:Cryville.Audio.OpenSLES.OutputClient">
<summary>
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Finalize">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Device">
<inheritdoc />
</member>
@@ -55,16 +79,22 @@
<member name="P:Cryville.Audio.OpenSLES.OutputClient.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Position">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.BufferPosition">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Start">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Start">
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OutputDevice">
@@ -102,41 +132,11 @@
<member name="P:Cryville.Audio.OpenSLES.OutputDevice.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OpenSLException">
<summary>
Exception occurring in OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
</members>
</doc>

View File

@@ -75,267 +75,6 @@
Pops off the local reference frame and frees all the local references.
</summary>
</member>
<member name="T:Cryville.Interop.Java.IJniInvoke">
<summary>
The JNI Invocation API.
</summary>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DestroyJavaVM">
<summary>
Unloads a Java VM and reclaims its resources.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Any thread, whether attached or not, can invoke this function. If the current thread is attached, the VM waits until the current thread is the only non-daemon user-level Java thread. If the current thread is not attached, the VM attaches the current thread and then waits until the current thread is the only non-daemon user-level thread.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Attaches the current thread to a Java VM.
</summary>
<param name="thr_args"><see langword="null" /> or a <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Trying to attach a thread that is already attached is a no-op.</para>
<para>A native thread cannot be attached simultaneously to two Java VMs.</para>
<para>When a thread is attached to the VM, the context class loader is the bootstrap loader.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DetachCurrentThread">
<summary>
Detaches the current thread from a Java VM.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>All Java monitors held by this thread are released. All Java threads waiting for this thread to die are notified.</para>
<para>The main thread can be detached from the VM.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.GetEnv(System.Int32)">
<summary>
Gets the <see cref="T:Cryville.Interop.Java.IJniEnv" /> attached to the current thread.
</summary>
<param name="version">The requested JNI version.</param>
<returns>A JNI interface, <see langword="null" /> if an error occurs.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure, with a <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> of <see cref="F:Cryville.Interop.Java.JniResult.Detached" /> if the current thread is not attached to the VM, or <see cref="F:Cryville.Interop.Java.JniResult.Version" /> if the specified version is not supported.</exception>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Same semantics as <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, but the newly-created <c>java.lang.Thread</c> instance is a daemon.
</summary>
<param name="args">A <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>If the thread has already been attached via either <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> or <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, this routine simply returns the <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the current thread. In this case neither <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> nor this routine have any effect on the daemon status of the thread.</para>
</remarks>
</member>
<member name="T:Cryville.Interop.Java.JavaVMAttachArgs">
<summary>
Additional information for attaching the current thread to a Java VM.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JavaVMAttachArgs.Version">
<summary>
The requested JNI version.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JavaVMAttachArgs.Name">
<summary>
The name of the thread, or <see langword="null" />.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JavaVMAttachArgs.Group">
<summary>
Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JavaVMAttachArgs.#ctor(System.Int32,System.String,System.IntPtr)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> struct.
</summary>
<param name="version">The requested JNI version.</param>
<param name="name">The name of the thread.</param>
<param name="group">Global ref of a <c>ThreadGroup</c> object.</param>
</member>
<member name="T:Cryville.Interop.Java.JavaVMManager">
<summary>
Java VM manager.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JavaVMManager.Register(Cryville.Interop.Java.IJniInvoke)">
<summary>
Registers a Java VM.
</summary>
<param name="vm">A Java VM.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="vm" /> is <see langword="null" />.</exception>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.VMs">
<summary>
All registered Java VMs.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentVM">
<summary>
The first VM registered.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentEnv">
<summary>
The <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the first VM registered.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniException">
<summary>
Exception occurring in JNI functions.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JniException.JniResult">
<summary>
The result code returned by the JNI function.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
<member name="M:Cryville.Interop.Java.JniException.Check(Cryville.Interop.Java.JniResult)">
<summary>
Checks the result code returned by a JNI function and throws a <see cref="T:Cryville.Interop.Java.JniException" /> if an error occurred.
</summary>
<param name="result">The result code returned by a JNI function.</param>
<exception cref="T:Cryville.Interop.Java.JniException">An error occurred.</exception>
</member>
<member name="T:Cryville.Interop.Java.JniNativeMethod">
<summary>
JNI native method.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniNativeMethod.Name">
<summary>
The name of the native method.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniNativeMethod.Signature">
<summary>
The signature of the native method.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniNativeMethod.FunctionPointer">
<summary>
The function pointer of the native method.
</summary>
<remarks>
<para>The function pointers nominally must have the following signature:</para>
<code>ReturnType function(IntPtr env, IntPtr objectOrClass, ...)</code>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.JniNativeMethod.#ctor(System.String,System.String,System.Delegate)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniNativeMethod" /> struct.
</summary>
<param name="name">The name.</param>
<param name="signature">The signature.</param>
<param name="functionPointer">The function pointer.</param>
<exception cref="T:System.ArgumentNullException">Either of the arguments is <see langword="null" />.</exception>
</member>
<member name="T:Cryville.Interop.Java.JniObjectRefType">
<summary>
Object reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Invalid">
<summary>
Invalid reference.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Local">
<summary>
Local reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Global">
<summary>
Global reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.WeakGlobal">
<summary>
Weak global reference type.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniReleaseArrayElementsMode">
<summary>
Provides information on how the array buffer should be released.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Default">
<summary>
Copy back the content and free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Commit">
<summary>
Copy back the content but do not free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Abort">
<summary>
Free the buffer without copying back the possible changes.
</summary>
</member>
<member name="T:Cryville.Interop.Java.IJniEnv">
<summary>
The Java native interface.
@@ -434,7 +173,7 @@
<param name="isStatic">Whether <paramref name="fieldID" /> refers to a static field.</param>
<returns>A <c>java.lang.reflect.Field</c> object. <see cref="F:System.IntPtr.Zero" /> if fails.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.Throw(System.IntPtr)">
<member name="M:Cryville.Interop.Java.IJniEnv.ThrowObject(System.IntPtr)">
<summary>
Causes a <c>java.lang.Throwable</c> object to be thrown.
</summary>
@@ -542,10 +281,10 @@
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.NewLocalRef(System.IntPtr)">
<summary>
Creates a new local reference that refers to the same object as <paramref name="ref" />.
Creates a new local reference that refers to the same object as <paramref name="reference" />.
</summary>
<param name="ref">A global or local reference.</param>
<returns>A new local reference that refers to the same object as <paramref name="ref" />. <see cref="F:System.IntPtr.Zero" /> if <paramref name="ref" /> refers to <c>null</c>.</returns>
<param name="reference">A global or local reference.</param>
<returns>A new local reference that refers to the same object as <paramref name="reference" />. <see cref="F:System.IntPtr.Zero" /> if <paramref name="reference" /> refers to <c>null</c>.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.EnsureLocalCapacity(System.Int32)">
<summary>
@@ -925,14 +664,14 @@
<summary>
Returns the length (the count of Unicode characters) of a Java string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<returns>The length of the Java string.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.GetStringChars(System.IntPtr,System.Boolean@)">
<summary>
Returns a pointer to the array of Unicode characters of the string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="isCopy">Set to <see langword="true" /> if a copy is made; or set to <see langword="false" /> if no copy is made.</param>
<returns>A pointer to a Unicode string, or <see cref="F:System.IntPtr.Zero" /> if the operation fails.</returns>
<remarks>
@@ -943,7 +682,7 @@
<summary>
Informs the VM that the native code no longer needs access to <paramref name="chars" />.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="chars">A pointer to a Unicode string.</param>
<remarks>
<para>The <paramref name="chars" /> argument is a pointer obtained from string using <see cref="M:Cryville.Interop.Java.IJniEnv.GetStringChars(System.IntPtr,System.Boolean@)" />.</para>
@@ -960,14 +699,14 @@
<summary>
Returns the length in bytes of the modified UTF-8 representation of a string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<returns>Returns the UTF-8 length of the string.</returns>
</member>
<member name="M:Cryville.Interop.Java.IJniEnv.GetStringUTFChars(System.IntPtr,System.Boolean@)">
<summary>
Returns a pointer to an array of bytes representing the string in modified UTF-8 encoding.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="isCopy">Set to <see langword="true" /> if a copy is made; or set to <see langword="false" /> if no copy is made.</param>
<returns>A pointer to a modified UTF-8 string, or <see cref="F:System.IntPtr.Zero" /> if the operation fails.</returns>
<remarks>
@@ -978,7 +717,7 @@
<summary>
Informs the VM that the native code no longer needs access to <paramref name="utf" />.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="utf">A pointer to a modified UTF-8 string.</param>
<remarks>
<para>The <paramref name="utf" /> argument is a pointer derived from string using <see cref="M:Cryville.Interop.Java.IJniEnv.GetStringUTFChars(System.IntPtr,System.Boolean@)" />.</para>
@@ -1284,7 +1023,7 @@
<summary>
Returns a pointer to the array of Unicode characters of the string.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="isCopy">Set to <see langword="true" /> if a copy is made; or it is set to <see langword="false" /> if no copy is made.</param>
<returns>A pointer to a Unicode string, or <see cref="F:System.IntPtr.Zero" /> if the operation fails.</returns>
<remarks>
@@ -1296,7 +1035,7 @@
<summary>
Informs the VM that the native code no longer needs access to <paramref name="carray" />.
</summary>
<param name="string">A Java string object.</param>
<param name="str">A Java string object.</param>
<param name="carray">A pointer to a Unicode string.</param>
<remarks>
<para>The <paramref name="carray" /> argument is a pointer obtained from string using <see cref="M:Cryville.Interop.Java.IJniEnv.GetStringChars(System.IntPtr,System.Boolean@)" />.</para>
@@ -1370,6 +1109,272 @@
<para>Since references are typically implemented as pointers to memory data structures that can potentially be reused by any of the reference allocation services in the VM, once deleted, it is not specified what value the <see cref="M:Cryville.Interop.Java.IJniEnv.GetObjectRefType(System.IntPtr)" /> will return.</para>
</remarks>
</member>
<member name="T:Cryville.Interop.Java.IJniInvoke">
<summary>
The JNI Invocation API.
</summary>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DestroyJavaVM">
<summary>
Unloads a Java VM and reclaims its resources.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Any thread, whether attached or not, can invoke this function. If the current thread is attached, the VM waits until the current thread is the only non-daemon user-level Java thread. If the current thread is not attached, the VM attaches the current thread and then waits until the current thread is the only non-daemon user-level thread.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Attaches the current thread to a Java VM.
</summary>
<param name="thrArgs"><see langword="null" /> or a <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>Trying to attach a thread that is already attached is a no-op.</para>
<para>A native thread cannot be attached simultaneously to two Java VMs.</para>
<para>When a thread is attached to the VM, the context class loader is the bootstrap loader.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.DetachCurrentThread">
<summary>
Detaches the current thread from a Java VM.
</summary>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>All Java monitors held by this thread are released. All Java threads waiting for this thread to die are notified.</para>
<para>The main thread can be detached from the VM.</para>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.GetEnv(System.Int32)">
<summary>
Gets the <see cref="T:Cryville.Interop.Java.IJniEnv" /> attached to the current thread.
</summary>
<param name="version">The requested JNI version.</param>
<returns>A JNI interface, <see langword="null" /> if an error occurs.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure, with a <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> of <see cref="F:Cryville.Interop.Java.JniResult.Detached" /> if the current thread is not attached to the VM, or <see cref="F:Cryville.Interop.Java.JniResult.Version" /> if the specified version is not supported.</exception>
</member>
<member name="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})">
<summary>
Same semantics as <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, but the newly-created <c>java.lang.Thread</c> instance is a daemon.
</summary>
<param name="args">A <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> structure to specify additional information.</param>
<returns>A JNI interface.</returns>
<exception cref="T:Cryville.Interop.Java.JniException">On failure.</exception>
<remarks>
<para>If the thread has already been attached via either <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> or <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThreadAsDaemon(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" />, this routine simply returns the <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the current thread. In this case neither <see cref="M:Cryville.Interop.Java.IJniInvoke.AttachCurrentThread(System.Nullable{Cryville.Interop.Java.JavaVMAttachArgs})" /> nor this routine have any effect on the daemon status of the thread.</para>
</remarks>
</member>
<member name="T:Cryville.Interop.Java.JavaVMAttachArgs">
<summary>
Additional information for attaching the current thread to a Java VM.
</summary>
<remarks>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> struct.
</remarks>
<param name="Version">The requested JNI version.</param>
<param name="Name">The name of the thread, or <see langword="null" />.</param>
<param name="Group">Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.</param>
</member>
<member name="M:Cryville.Interop.Java.JavaVMAttachArgs.#ctor(System.Int32,System.String,System.IntPtr)">
<summary>
Additional information for attaching the current thread to a Java VM.
</summary>
<remarks>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JavaVMAttachArgs" /> struct.
</remarks>
<param name="Version">The requested JNI version.</param>
<param name="Name">The name of the thread, or <see langword="null" />.</param>
<param name="Group">Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.</param>
</member>
<member name="P:Cryville.Interop.Java.JavaVMAttachArgs.Version">
<summary>The requested JNI version.</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMAttachArgs.Name">
<summary>The name of the thread, or <see langword="null" />.</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMAttachArgs.Group">
<summary>Global ref of a <c>ThreadGroup</c> object, or <see cref="F:System.IntPtr.Zero" />.</summary>
</member>
<member name="T:Cryville.Interop.Java.JavaVMManager">
<summary>
Java VM manager.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JavaVMManager.Register(Cryville.Interop.Java.IJniInvoke)">
<summary>
Registers a Java VM.
</summary>
<param name="vm">A Java VM.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="vm" /> is <see langword="null" />.</exception>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.VMs">
<summary>
All registered Java VMs.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentVM">
<summary>
The first VM registered.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JavaVMManager.CurrentEnv">
<summary>
The <see cref="T:Cryville.Interop.Java.IJniEnv" /> of the first VM registered.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniException">
<summary>
Exception occurring in JNI functions.
</summary>
</member>
<member name="P:Cryville.Interop.Java.JniException.JniResult">
<summary>
The result code returned by the JNI function.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Unknown" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with <see cref="P:Cryville.Interop.Java.JniException.JniResult" /> set to <see cref="F:Cryville.Interop.Java.JniResult.Inner" />.
</summary>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(Cryville.Interop.Java.JniResult,System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class.
</summary>
<param name="result">The result code returned by the JNI function.</param>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Interop.Java.JniException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="M:Cryville.Interop.Java.JniException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
<member name="M:Cryville.Interop.Java.JniException.Check(Cryville.Interop.Java.JniResult)">
<summary>
Checks the result code returned by a JNI function and throws a <see cref="T:Cryville.Interop.Java.JniException" /> if an error occurred.
</summary>
<param name="result">The result code returned by a JNI function.</param>
<exception cref="T:Cryville.Interop.Java.JniException">An error occurred.</exception>
</member>
<member name="T:Cryville.Interop.Java.JniNativeMethod">
<summary>
JNI native method.
</summary>
<param name="Name">The name of the native method.</param>
<param name="Signature">The signature of the native method.</param>
<param name="FunctionPointer">The function pointer of the native method.</param>
<exception cref="T:System.ArgumentNullException">Either of the arguments is <see langword="null" />.</exception>
<remarks>
<para>The function pointers nominally must have the following signature:</para>
<code>ReturnType function(IntPtr env, IntPtr objectOrClass, ...)</code>
</remarks>
</member>
<member name="M:Cryville.Interop.Java.JniNativeMethod.#ctor(System.String,System.String,System.Delegate)">
<summary>
JNI native method.
</summary>
<param name="Name">The name of the native method.</param>
<param name="Signature">The signature of the native method.</param>
<param name="FunctionPointer">The function pointer of the native method.</param>
<exception cref="T:System.ArgumentNullException">Either of the arguments is <see langword="null" />.</exception>
<remarks>
<para>The function pointers nominally must have the following signature:</para>
<code>ReturnType function(IntPtr env, IntPtr objectOrClass, ...)</code>
</remarks>
</member>
<member name="P:Cryville.Interop.Java.JniNativeMethod.Name">
<summary>The name of the native method.</summary>
</member>
<member name="P:Cryville.Interop.Java.JniNativeMethod.Signature">
<summary>The signature of the native method.</summary>
</member>
<member name="P:Cryville.Interop.Java.JniNativeMethod.FunctionPointer">
<summary>The function pointer of the native method.</summary>
</member>
<member name="T:Cryville.Interop.Java.JniObjectRefType">
<summary>
Object reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Invalid">
<summary>
Invalid reference.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Local">
<summary>
Local reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.Global">
<summary>
Global reference type.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniObjectRefType.WeakGlobal">
<summary>
Weak global reference type.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniReleaseArrayElementsMode">
<summary>
Provides information on how the array buffer should be released.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Default">
<summary>
Copy back the content and free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Commit">
<summary>
Copy back the content but do not free the <c>elems</c> buffer.
</summary>
</member>
<member name="F:Cryville.Interop.Java.JniReleaseArrayElementsMode.Abort">
<summary>
Free the buffer without copying back the possible changes.
</summary>
</member>
<member name="T:Cryville.Interop.Java.JniResult">
<summary>
Result code returned by JNI functions.