Table of Contents

Class JniUtility

Ruang Nama
easyar

JNI kelas utilitas. Digunakan untuk membungkus array dan ByteBuffer Java di Unity. Tidak mendukung platform iOS.

JniUtility

Metode

wrapByteArray

Membungkus array byte Java byte[].

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)

Parameter

Nama Tipe Deskripsi
bytes IntPtr
readOnly Boolean
deleter Action

Mengembalikan

Tipe Deskripsi
Buffer

wrapBuffer

Membungkus buffer langsung di java.nio.ByteBuffer 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)

Parameter

Nama Tipe Deskripsi
directBuffer IntPtr
deleter Action

Mengembalikan

Tipe Deskripsi
Buffer

getDirectBufferAddress

Memanggil JNIEnv->GetDirectBufferAddress untuk mendapatkan alamat asli dari buffer langsung di 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)

Parameter

Nama Tipe Deskripsi
directBuffer IntPtr

Mengembalikan

Tipe Deskripsi
IntPtr

newJniGlobalPointer

Mendapatkan pointer global objek Java di JNI.

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

Parameter

Nama Tipe Deskripsi
obj

Mengembalikan

Tipe Deskripsi

deleteJniGlobalPointer

Melepaskan pointer global objek Java di JNI.

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

Parameter

Nama Tipe Deskripsi
obj

Mengembalikan

Tipe Deskripsi