Table of Contents

Class JniUtility

Пространство имен
easyar

JNI-утилита. Оборачивает массивы Java и ByteBuffer в Unity. Не поддерживается на платформе iOS.

JniUtility

Методы

wrapByteArray

Оборачивает 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)

Параметры

Имя Тип Описание
bytes IntPtr
readOnly Boolean
deleter Action

Возвращаемое значение

Тип Описание
Buffer

wrapBuffer

Оборачивает прямой буфер (direct buffer) из java.nio.ByteBuffer.

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)

Параметры

Имя Тип Описание
directBuffer IntPtr
deleter Action

Возвращаемое значение

Тип Описание
Buffer

getDirectBufferAddress

Получает прямой адрес direct buffer в java.nio.ByteBuffer через вызов JNIEnv->GetDirectBufferAddress.

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)

Параметры

Имя Тип Описание
directBuffer IntPtr

Возвращаемое значение

Тип Описание
IntPtr

newJniGlobalPointer

Получает глобальную ссылку на Java-объект в JNI.

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

Параметры

Имя Тип Описание
obj

Возвращаемое значение

Тип Описание

deleteJniGlobalPointer

Освобождает глобальную ссылку на Java-объект в JNI.

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

Параметры

Имя Тип Описание
obj

Возвращаемое значение

Тип Описание