Table of Contents

Class JniUtility

Spazio dei nomi
easyar

Classe di utilità JNI. Utilizzata per incapsulare gli array e ByteBuffer di Java in Unity. Non supporta la piattaforma iOS.

JniUtility

Metodi

wrapByteArray

Incapsula l'array di byte byte[] di 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)

Parametri

Nome Tipo Descrizione
bytes IntPtr
readOnly Boolean
deleter Action

Valore restituito

Tipo Descrizione
Buffer

wrapBuffer

Incapsula il direct buffer in java.nio.ByteBuffer di 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)

Parametri

Nome Tipo Descrizione
directBuffer IntPtr
deleter Action

Valore restituito

Tipo Descrizione
Buffer

getDirectBufferAddress

Chiama JNIEnv->GetDirectBufferAddress per ottenere l'indirizzo originale del direct buffer in 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)

Parametri

Nome Tipo Descrizione
directBuffer IntPtr

Valore restituito

Tipo Descrizione
IntPtr

newJniGlobalPointer

Ottiene il puntatore globale dell'oggetto Java in JNI.

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

Parametri

Nome Tipo Descrizione
obj

Valore restituito

Tipo Descrizione

deleteJniGlobalPointer

Rilascia il puntatore globale dell'oggetto Java in JNI.

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

Parametri

Nome Tipo Descrizione
obj

Valore restituito

Tipo Descrizione