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の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
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
JNIにおけるJavaオブジェクトのグローバルポインタを取得。
public static long Buffer newJniGlobalPointer(java.lang.@Nonnull Object obj)
companion object fun newJniGlobalPointer(obj: java.lang.Object): Long
パラメーター
| 名前 | 型 | 説明 |
|---|---|---|
| obj |
戻り値
| 型 | 説明 |
|---|---|
deleteJniGlobalPointer
JNIにおけるJavaオブジェクトのグローバルポインタを解放。
public static long Buffer newJniGlobalPointer(java.lang.@Nonnull Object obj)
companion object fun newJniGlobalPointer(obj: java.lang.Object): Long
パラメーター
| 名前 | 型 | 説明 |
|---|---|---|
| obj |
戻り値
| 型 | 説明 |
|---|---|