Table of Contents

Class JniUtility

네임스페이스
easyar

JNI 도구 클래스. Unity에서 Java 배열 및 ByteBuffer를 래핑하는 데 사용됩니다. 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

자바의 java.nio.ByteBuffer 내 direct buffer를 래핑합니다.

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

JNIEnv->GetDirectBufferAddress를 호출하여 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)

매개 변수

이름 형식 설명
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

JNI에서 자바 객체의 전역 포인터를 해제합니다.

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

매개 변수

이름 형식 설명
obj

반환 값

형식 설명