Table of Contents

Class JniUtility

Namespace
easyar

JNI Utility-Klasse. Verwendet, um Java-Arrays und ByteBuffer in Unity zu wrappen. Nicht unterstützt auf iOS-Plattform.

JniUtility

Methoden

wrapByteArray

Wrappen des Java-Byte-Arrays 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

Name Typ Beschreibung
bytes IntPtr
readOnly Boolean
deleter Action

Rückgabewert

Typ Beschreibung
Buffer

wrapBuffer

Wrappen des Direct Buffers in Java's 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)

Parameter

Name Typ Beschreibung
directBuffer IntPtr
deleter Action

Rückgabewert

Typ Beschreibung
Buffer

getDirectBufferAddress

Aufrufen von JNIEnv->GetDirectBufferAddress, um die ursprüngliche Adresse des Direct Buffers in java.nio.ByteBuffer zu erhalten.

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

Name Typ Beschreibung
directBuffer IntPtr

Rückgabewert

Typ Beschreibung
IntPtr

newJniGlobalPointer

Erhalten des globalen Zeigers eines Java-Objekts in JNI.

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

Parameter

Name Typ Beschreibung
obj

Rückgabewert

Typ Beschreibung

deleteJniGlobalPointer

Freigeben des globalen Zeigers eines Java-Objekts in JNI.

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

Parameter

Name Typ Beschreibung
obj

Rückgabewert

Typ Beschreibung