Table of Contents

Class JniUtility

Espacio de nombres
easyar

Clase de utilidad JNI. Utilizada para envolver arrays de Java y ByteBuffer en Unity. No es compatible con la plataforma iOS.

JniUtility

Métodos

wrapByteArray

Envuelve el array de bytes byte[] de Java.

void easyar_JniUtility_wrapByteArray(void * bytes, bool readOnly, easyar_FunctorOfVoid deleter, easyar_Buffer * * Return)
static std::shared_ptr<Buffer> wrapByteArray(void * bytes, bool readOnly, std::function<void()> deleter)
public static @Nonnull Buffer wrapByteArray(long bytes, boolean readOnly, @Nonnull FunctorOfVoid deleter)
companion object fun wrapByteArray(bytes: Long, readOnly: Boolean, deleter: FunctorOfVoid): Buffer
+ (easyar_Buffer *)wrapByteArray:(void *)bytes readOnly:(bool)readOnly deleter:(void (^)())deleter
public static func wrapByteArray(_ bytes: OpaquePointer?, _ readOnly: Bool, _ deleter: @escaping () -> Void) -> Buffer
public static Buffer wrapByteArray(IntPtr bytes, bool readOnly, Action deleter)

Parámetros

Nombre Tipo Descripción
bytes IntPtr
readOnly Boolean
deleter Action

Devuelve

Tipo Descripción
Buffer

wrapBuffer

Envuelve el direct buffer en java.nio.ByteBuffer de Java.

void easyar_JniUtility_wrapBuffer(void * directBuffer, easyar_FunctorOfVoid deleter, easyar_Buffer * * Return)
static std::shared_ptr<Buffer> wrapBuffer(void * directBuffer, std::function<void()> deleter)
public static @Nonnull Buffer wrapBuffer(long directBuffer, @Nonnull FunctorOfVoid deleter)
companion object fun wrapBuffer(directBuffer: Long, deleter: FunctorOfVoid): Buffer
+ (easyar_Buffer *)wrapBuffer:(void *)directBuffer deleter:(void (^)())deleter
public static func wrapBuffer(_ directBuffer: OpaquePointer?, _ deleter: @escaping () -> Void) -> Buffer
public static Buffer wrapBuffer(IntPtr directBuffer, Action deleter)

Parámetros

Nombre Tipo Descripción
directBuffer IntPtr
deleter Action

Devuelve

Tipo Descripción
Buffer

getDirectBufferAddress

Llama a JNIEnv->GetDirectBufferAddress para obtener la dirección original del direct buffer en java.nio.ByteBuffer.

void * easyar_JniUtility_getDirectBufferAddress(void * directBuffer)
static void * getDirectBufferAddress(void * directBuffer)
public static long getDirectBufferAddress(long directBuffer)
companion object fun getDirectBufferAddress(directBuffer: Long): Long
+ (void *)getDirectBufferAddress:(void *)directBuffer
public static func getDirectBufferAddress(_ directBuffer: OpaquePointer?) -> OpaquePointer?
public static IntPtr getDirectBufferAddress(IntPtr directBuffer)

Parámetros

Nombre Tipo Descripción
directBuffer IntPtr

Devuelve

Tipo Descripción
IntPtr

newJniGlobalPointer

Obtiene el puntero global del objeto Java en JNI.

public static long Buffer newJniGlobalPointer(java.lang.@Nonnull Object obj)
companion object fun newJniGlobalPointer(obj: java.lang.Object): Long

Parámetros

Nombre Tipo Descripción
obj

Devuelve

Tipo Descripción

deleteJniGlobalPointer

Libera el puntero global del objeto Java en JNI.

public static long Buffer newJniGlobalPointer(java.lang.@Nonnull Object obj)
companion object fun newJniGlobalPointer(obj: java.lang.Object): Long

Parámetros

Nombre Tipo Descripción
obj

Devuelve

Tipo Descripción