Class JniUtility
- Espace de noms
- easyar
Classe utilitaire JNI. Utilisé pour encapsuler des tableaux Java et des ByteBuffer dans Unity. Non pris en charge sur la plateforme iOS.
JniUtility
Méthodes
wrapByteArray
Encapsuler le tableau d'octets byte[] de 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)
Paramètres
| Nom | Type | Description |
|---|---|---|
| bytes | IntPtr | |
| readOnly | Boolean | |
| deleter | Action |
Retours
| Type | Description |
|---|---|
| Buffer |
wrapBuffer
Encapsulation du buffer direct dans java.nio.ByteBuffer de 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)
Paramètres
| Nom | Type | Description |
|---|---|---|
| directBuffer | IntPtr | |
| deleter | Action |
Retours
| Type | Description |
|---|---|
| Buffer |
getDirectBufferAddress
Appelez JNIEnv->GetDirectBufferAddress pour obtenir l'adresse brute du tampon direct dans 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)
Paramètres
| Nom | Type | Description |
|---|---|---|
| directBuffer | IntPtr |
Retours
| Type | Description |
|---|---|
| IntPtr |
newJniGlobalPointer
Obtenir le pointeur global d'un objet Java dans JNI.
public static long Buffer newJniGlobalPointer(java.lang.@Nonnull Object obj)
companion object fun newJniGlobalPointer(obj: java.lang.Object): Long
Paramètres
| Nom | Type | Description |
|---|---|---|
| obj |
Retours
| Type | Description |
|---|---|
deleteJniGlobalPointer
Libérer les pointeurs globaux des objets Java dans JNI.
public static long Buffer newJniGlobalPointer(java.lang.@Nonnull Object obj)
companion object fun newJniGlobalPointer(obj: java.lang.Object): Long
Paramètres
| Nom | Type | Description |
|---|---|---|
| obj |
Retours
| Type | Description |
|---|---|