[ffigen][jnigen] Prepare to publish everything! (#3488)
diff --git a/pkgs/ffigen/CHANGELOG.md b/pkgs/ffigen/CHANGELOG.md
index 614d61d..3360254 100644
--- a/pkgs/ffigen/CHANGELOG.md
+++ b/pkgs/ffigen/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 21.0.0-wip
+## 21.0.0
- Propagate `@Deprecated` annotations from C/ObjC headers into generated Dart
bindings. Deprecation messages from `__attribute__((deprecated("msg")))` and
diff --git a/pkgs/ffigen/pubspec.yaml b/pkgs/ffigen/pubspec.yaml
index fd5bf56..abbf0ad 100644
--- a/pkgs/ffigen/pubspec.yaml
+++ b/pkgs/ffigen/pubspec.yaml
@@ -3,7 +3,7 @@
# BSD-style license that can be found in the LICENSE file.
name: ffigen
-version: 21.0.1-wip
+version: 21.0.0
description: >
Generator for FFI bindings, using LibClang to parse C, Objective-C, and Swift
files.
@@ -43,7 +43,7 @@
dart_flutter_team_lints: ^3.5.2
json_schema: ^5.1.1
leak_tracker: ^11.0.2
- objective_c: ^9.4.1
+ objective_c: ^9.5.0
test: ^1.26.2
dependency_overrides:
diff --git a/pkgs/jni/CHANGELOG.md b/pkgs/jni/CHANGELOG.md
index 92cad32..0a5a7b5 100644
--- a/pkgs/jni/CHANGELOG.md
+++ b/pkgs/jni/CHANGELOG.md
@@ -1,10 +1,13 @@
-## 1.0.1-wip
+## 1.0.1
- Improve error message when JNI is used before Flutter plugin initialization.
- Improve no such method error handling.
- Fix memory leaks and deadlocks that can happen in callbacks, if the target
isolate is shut down.
- Support versions 3.x of `package:package_config`.
+- Make some internal-only FFI structs opaque. This is technically a breaking
+ change, but it's extremely unlikely that any users are using these internal
+ structs (and doing so would be a mistake).
## 1.0.0
diff --git a/pkgs/jni/ffigen.yaml b/pkgs/jni/ffigen.yaml
index 41c2e39..65e99a5 100644
--- a/pkgs/jni/ffigen.yaml
+++ b/pkgs/jni/ffigen.yaml
@@ -65,6 +65,16 @@
- 'wait_for'
# keep-sorted end
structs:
+ dependency-only: opaque
+ include:
+ - 'JniResult'
+ - 'JniPointerResult'
+ - 'JniClassLookupResult'
+ - 'JniExceptionDetails'
+ - 'JavaVMInitArgs'
+ - 'JavaVMOption'
+ - 'GlobalJniEnvStruct'
+ - 'JNINativeMethod'
exclude:
- 'JniContext'
- 'JniLocks'
@@ -72,15 +82,15 @@
- '_JNIEnv'
- 'JNIInvokeInterface'
- '__va_list_tag'
- - 'CallbackResult'
rename:
## opaque struct definitions, base types of jfieldID and jmethodID
'_Dart_FinalizableHandle': 'Dart_FinalizableHandle_'
'_jfieldID': 'jfieldID_'
- '_jmethodID':
- 'jmethodID_'
- #'JNI(.*)': 'Jni$1'
+ '_jmethodID': 'jmethodID_'
unions:
+ dependency-only: opaque
+ include:
+ - 'jvalue'
rename:
'jvalue': 'JValue'
globals:
diff --git a/pkgs/jni/lib/jni.dart b/pkgs/jni/lib/jni.dart
index 57ada4b..5bb51c6 100644
--- a/pkgs/jni/lib/jni.dart
+++ b/pkgs/jni/lib/jni.dart
@@ -64,6 +64,12 @@
export 'src/core_bindings.dart'
show
+ $JCollection,
+ $JIterator,
+ $JList,
+ $JMap,
+ $JMap$JEntry,
+ $JSet,
JArrayList,
JArrayList$$Methods,
JBoolean,
diff --git a/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart b/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
index 9172a2f..603d699 100644
--- a/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
+++ b/pkgs/jni/lib/src/third_party/jni_bindings_generated.dart
@@ -351,21 +351,12 @@
late final ffi.Pointer<pthread_key_t> _tlsKey =
_lookup<pthread_key_t>('tlsKey');
- Dartpthread_key_t get tlsKey => _tlsKey.value;
+ Dart__darwin_pthread_key_t get tlsKey => _tlsKey.value;
- set tlsKey(Dartpthread_key_t value) => _tlsKey.value = value;
+ set tlsKey(Dart__darwin_pthread_key_t value) => _tlsKey.value = value;
}
-final class CallbackResult extends ffi.Struct {
- external MutexLock lock;
-
- external ConditionVariable cond;
-
- @ffi.Int()
- external int ready;
-
- external JObjectPtr object;
-}
+final class CallbackResult extends ffi.Opaque {}
typedef ConditionVariable = pthread_cond_t;
typedef Dart_FinalizableHandle = ffi.Pointer<Dart_FinalizableHandle_>;
@@ -2727,3076 +2718,10 @@
typedef JMethodIDPtr = ffi.Pointer<jmethodID_>;
/// JNI invocation interface.
-final class JNIInvokeInterface extends ffi.Struct {
- external ffi.Pointer<ffi.Void> reserved0;
-
- external ffi.Pointer<ffi.Void> reserved1;
-
- external ffi.Pointer<ffi.Void> reserved2;
-
- external ffi.Pointer<
- ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JavaVM$1> vm)>>
- DestroyJavaVM;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JavaVM$1> vm,
- ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args)>> AttachCurrentThread;
-
- external ffi.Pointer<
- ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JavaVM$1> vm)>>
- DetachCurrentThread;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JavaVM$1> vm,
- ffi.Pointer<ffi.Pointer<ffi.Void>> p_env,
- JIntMarker version)>> GetEnv;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JavaVM$1> vm,
- ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args)>> AttachCurrentThreadAsDaemon;
-
- static ffi.Pointer<JNIInvokeInterface> $allocate(
- ffi.Allocator $allocator, {
- required ffi.Pointer<ffi.Void> reserved0,
- required ffi.Pointer<ffi.Void> reserved1,
- required ffi.Pointer<ffi.Void> reserved2,
- required ffi.Pointer<
- ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JavaVM$1> vm)>>
- DestroyJavaVM,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JavaVM$1> vm,
- ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args)>>
- AttachCurrentThread,
- required ffi.Pointer<
- ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JavaVM$1> vm)>>
- DetachCurrentThread,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JavaVM$1> vm,
- ffi.Pointer<ffi.Pointer<ffi.Void>> p_env,
- JIntMarker version)>>
- GetEnv,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JavaVM$1> vm,
- ffi.Pointer<ffi.Pointer<JniEnv>> p_env,
- ffi.Pointer<ffi.Void> thr_args)>>
- AttachCurrentThreadAsDaemon,
- }) =>
- $allocator<JNIInvokeInterface>()
- ..ref.reserved0 = reserved0
- ..ref.reserved1 = reserved1
- ..ref.reserved2 = reserved2
- ..ref.DestroyJavaVM = DestroyJavaVM
- ..ref.AttachCurrentThread = AttachCurrentThread
- ..ref.DetachCurrentThread = DetachCurrentThread
- ..ref.GetEnv = GetEnv
- ..ref.AttachCurrentThreadAsDaemon = AttachCurrentThreadAsDaemon;
-}
+final class JNIInvokeInterface extends ffi.Opaque {}
/// Table of interface function pointers.
-final class JNINativeInterface extends ffi.Struct {
- external ffi.Pointer<ffi.Void> reserved0;
-
- external ffi.Pointer<ffi.Void> reserved1;
-
- external ffi.Pointer<ffi.Void> reserved2;
-
- external ffi.Pointer<ffi.Void> reserved3;
-
- external ffi.Pointer<
- ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JniEnv$1> env)>>
- GetVersion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<ffi.Char> name,
- JObjectPtr loader,
- ffi.Pointer<JByteMarker> buf,
- JSizeMarker bufLen)>> DefineClass;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv$1> env, ffi.Pointer<ffi.Char> name)>>
- FindClass;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr method)>>
- FromReflectedMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr field)>> FromReflectedField;
-
- /// spec doesn't show jboolean parameter
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr cls,
- JMethodIDPtr methodId,
- JBooleanMarker isStatic)>> ToReflectedMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz)>>
- GetSuperclass;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz1,
- JClassPtr clazz2)>> IsAssignableFrom;
-
- /// spec doesn't show jboolean parameter
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr cls,
- JFieldIDPtr fieldID, JBooleanMarker isStatic)>> ToReflectedField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JThrowablePtr obj)>> Throw;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- ffi.Pointer<ffi.Char> message)>> ThrowNew;
-
- external ffi.Pointer<
- ffi.NativeFunction<JThrowablePtr Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionOccurred;
-
- external ffi
- .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionDescribe;
-
- external ffi
- .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionClear;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env, ffi.Pointer<ffi.Char> msg)>>
- FatalError;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JIntMarker capacity)>> PushLocalFrame;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr result)>> PopLocalFrame;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- NewGlobalRef;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr globalRef)>>
- DeleteGlobalRef;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr localRef)>> DeleteLocalRef;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr ref1, JObjectPtr ref2)>>
- IsSameObject;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- NewLocalRef;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JIntMarker capacity)>>
- EnsureLocalCapacity;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz)>>
- AllocObject;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> NewObject;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> NewObjectV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>> NewObjectA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- GetObjectClass;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr obj, JClassPtr clazz)>>
- IsInstanceOf;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>> GetMethodID;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallObjectMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallObjectMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallObjectMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallBooleanMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallBooleanMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodId,
- ffi.Pointer<JValue> args)>> CallBooleanMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallByteMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallByteMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallByteMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallCharMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallCharMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallCharMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallShortMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallShortMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallShortMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallIntMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallIntMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>> CallIntMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallLongMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallLongMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallLongMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallFloatMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallFloatMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallFloatMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallDoubleMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallDoubleMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallDoubleMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>> CallVoidMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallVoidMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallVoidMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualObjectMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1>,
- JObjectPtr,
- JClassPtr,
- JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallNonvirtualObjectMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualObjectMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualBooleanMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1>,
- JObjectPtr,
- JClassPtr,
- JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallNonvirtualBooleanMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualBooleanMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualByteMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualByteMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualByteMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualCharMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualCharMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualCharMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualShortMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualShortMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualShortMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>> CallNonvirtualIntMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualIntMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualIntMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualLongMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualLongMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualLongMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualFloatMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualFloatMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualFloatMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualDoubleMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1>,
- JObjectPtr,
- JClassPtr,
- JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallNonvirtualDoubleMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualDoubleMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID)>> CallNonvirtualVoidMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallNonvirtualVoidMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallNonvirtualVoidMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>> GetFieldID;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetObjectField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetBooleanField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetByteField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetCharField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetShortField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetIntField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetLongField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetFloatField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>> GetDoubleField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JObjectPtr val)>> SetObjectField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JBooleanMarker val)>> SetBooleanField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JByteMarker val)>> SetByteField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JCharMarker val)>> SetCharField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JShortMarker val)>> SetShortField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JIntMarker val)>> SetIntField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JLongMarker val)>> SetLongField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JFloatMarker val)>> SetFloatField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JDoubleMarker val)>> SetDoubleField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>> GetStaticMethodID;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticObjectMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticObjectMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticObjectMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticBooleanMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>> CallStaticBooleanMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticBooleanMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticByteMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticByteMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticByteMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticCharMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticCharMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticCharMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticShortMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticShortMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticShortMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticIntMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticIntMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticIntMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticLongMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticLongMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticLongMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticFloatMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticFloatMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticFloatMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticDoubleMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticDoubleMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticDoubleMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>> CallStaticVoidMethod;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1>, JClassPtr, JMethodIDPtr,
- ffi.Pointer<ffi.Void>)>> CallStaticVoidMethodV;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>> CallStaticVoidMethodA;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>> GetStaticFieldID;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticObjectField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticBooleanField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticByteField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticCharField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticShortField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticIntField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticLongField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticFloatField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>> GetStaticDoubleField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JObjectPtr val)>> SetStaticObjectField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JBooleanMarker val)>> SetStaticBooleanField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JByteMarker val)>> SetStaticByteField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JCharMarker val)>> SetStaticCharField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JShortMarker val)>> SetStaticShortField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JIntMarker val)>> SetStaticIntField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JLongMarker val)>> SetStaticLongField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JFloatMarker val)>> SetStaticFloatField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JDoubleMarker val)>> SetStaticDoubleField;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JStringPtr Function(
- ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<JCharMarker> unicodeChars,
- JSizeMarker len)>> NewString;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JSizeMarker Function(
- ffi.Pointer<JniEnv$1> env, JStringPtr string)>> GetStringLength;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JCharMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr string,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetStringChars;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JStringPtr string,
- ffi.Pointer<JCharMarker> isCopy)>> ReleaseStringChars;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JStringPtr Function(
- ffi.Pointer<JniEnv$1> env, ffi.Pointer<ffi.Char> bytes)>>
- NewStringUTF;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JSizeMarker Function(
- ffi.Pointer<JniEnv$1> env, JStringPtr string)>>
- GetStringUTFLength;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<ffi.Char> Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr string,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetStringUTFChars;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JStringPtr string,
- ffi.Pointer<ffi.Char> utf)>> ReleaseStringUTFChars;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JSizeMarker Function(ffi.Pointer<JniEnv$1> env, JArrayPtr array)>>
- GetArrayLength;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectArrayPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JSizeMarker length,
- JClassPtr elementClass,
- JObjectPtr initialElement)>> NewObjectArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectArrayPtr array,
- JSizeMarker index)>> GetObjectArrayElement;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectArrayPtr array,
- JSizeMarker index, JObjectPtr val)>> SetObjectArrayElement;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JBooleanArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewBooleanArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JByteArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewByteArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JCharArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewCharArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JShortArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewShortArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewIntArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewLongArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JFloatArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewFloatArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JDoubleArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>> NewDoubleArray;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JBooleanMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetBooleanArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JByteMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetByteArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JCharMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetCharArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JShortMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetShortArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JIntMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetIntArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JLongMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetLongArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JFloatMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetFloatArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JDoubleMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetDoubleArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> elems,
- JIntMarker mode)>> ReleaseBooleanArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- ffi.Pointer<JByteMarker> elems,
- JIntMarker mode)>> ReleaseByteArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- ffi.Pointer<JCharMarker> elems,
- JIntMarker mode)>> ReleaseCharArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- ffi.Pointer<JShortMarker> elems,
- JIntMarker mode)>> ReleaseShortArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array,
- ffi.Pointer<JIntMarker> elems,
- JIntMarker mode)>> ReleaseIntArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- ffi.Pointer<JLongMarker> elems,
- JIntMarker mode)>> ReleaseLongArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- ffi.Pointer<JFloatMarker> elems,
- JIntMarker mode)>> ReleaseFloatArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- ffi.Pointer<JDoubleMarker> elems,
- JIntMarker mode)>> ReleaseDoubleArrayElements;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JBooleanMarker> buf)>> GetBooleanArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JByteMarker> buf)>> GetByteArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JCharMarker> buf)>> GetCharArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JShortMarker> buf)>> GetShortArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JIntMarker> buf)>> GetIntArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JLongMarker> buf)>> GetLongArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JFloatMarker> buf)>> GetFloatArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JDoubleMarker> buf)>> GetDoubleArrayRegion;
-
- /// spec shows these without const; some jni.h do, some don't
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JBooleanMarker> buf)>> SetBooleanArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JByteMarker> buf)>> SetByteArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JCharMarker> buf)>> SetCharArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JShortMarker> buf)>> SetShortArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JIntMarker> buf)>> SetIntArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JLongMarker> buf)>> SetLongArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JFloatMarker> buf)>> SetFloatArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JDoubleMarker> buf)>> SetDoubleArrayRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<JNINativeMethod> methods,
- JIntMarker nMethods)>> RegisterNatives;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz)>>
- UnregisterNatives;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- MonitorEnter;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- MonitorExit;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<ffi.Pointer<JavaVM$1>> vm)>> GetJavaVM;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr str,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JCharMarker> buf)>> GetStringRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr str,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<ffi.Char> buf)>> GetStringUTFRegion;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<ffi.Void> Function(
- ffi.Pointer<JniEnv$1> env,
- JArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetPrimitiveArrayCritical;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JArrayPtr array,
- ffi.Pointer<ffi.Void> carray,
- JIntMarker mode)>> ReleasePrimitiveArrayCritical;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JCharMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr str,
- ffi.Pointer<JBooleanMarker> isCopy)>> GetStringCritical;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JStringPtr str,
- ffi.Pointer<JCharMarker> carray)>> ReleaseStringCritical;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JWeakPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- NewWeakGlobalRef;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JWeakPtr obj)>>
- DeleteWeakGlobalRef;
-
- external ffi.Pointer<
- ffi
- .NativeFunction<JBooleanMarker Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionCheck;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<ffi.Void> address,
- JLongMarker capacity)>> NewDirectByteBuffer;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<ffi.Void> Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr buf)>>
- GetDirectBufferAddress;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr buf)>>
- GetDirectBufferCapacity;
-
- /// added in JNI 1.6
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.UnsignedInt Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>> GetObjectRefType;
-
- static ffi.Pointer<JNINativeInterface> $allocate(
- ffi.Allocator $allocator, {
- required ffi.Pointer<ffi.Void> reserved0,
- required ffi.Pointer<ffi.Void> reserved1,
- required ffi.Pointer<ffi.Void> reserved2,
- required ffi.Pointer<ffi.Void> reserved3,
- required ffi.Pointer<
- ffi.NativeFunction<JIntMarker Function(ffi.Pointer<JniEnv$1> env)>>
- GetVersion,
- required ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<ffi.Char> name,
- JObjectPtr loader,
- ffi.Pointer<JByteMarker> buf,
- JSizeMarker bufLen)>>
- DefineClass,
- required ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(
- ffi.Pointer<JniEnv$1> env, ffi.Pointer<ffi.Char> name)>>
- FindClass,
- required ffi.Pointer<
- ffi.NativeFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr method)>>
- FromReflectedMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFieldIDPtr Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr field)>>
- FromReflectedField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr cls,
- JMethodIDPtr methodId, JBooleanMarker isStatic)>>
- ToReflectedMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz)>>
- GetSuperclass,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz1, JClassPtr clazz2)>>
- IsAssignableFrom,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr cls,
- JFieldIDPtr fieldID, JBooleanMarker isStatic)>>
- ToReflectedField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JThrowablePtr obj)>>
- Throw,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- ffi.Pointer<ffi.Char> message)>>
- ThrowNew,
- required ffi.Pointer<
- ffi
- .NativeFunction<JThrowablePtr Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionOccurred,
- required ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionDescribe,
- required ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionClear,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env, ffi.Pointer<ffi.Char> msg)>>
- FatalError,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JIntMarker capacity)>>
- PushLocalFrame,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr result)>>
- PopLocalFrame,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- NewGlobalRef,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr globalRef)>>
- DeleteGlobalRef,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr localRef)>>
- DeleteLocalRef,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr ref1, JObjectPtr ref2)>>
- IsSameObject,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- NewLocalRef,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JIntMarker capacity)>>
- EnsureLocalCapacity,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env, JClassPtr clazz)>>
- AllocObject,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- NewObject,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- NewObjectV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- NewObjectA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JClassPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- GetObjectClass,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JClassPtr clazz)>>
- IsInstanceOf,
- required ffi.Pointer<
- ffi.NativeFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>>
- GetMethodID,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallObjectMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallObjectMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallObjectMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JMethodIDPtr methodID)>>
- CallBooleanMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallBooleanMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodId,
- ffi.Pointer<JValue> args)>>
- CallBooleanMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallByteMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallByteMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallByteMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallCharMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallCharMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallCharMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallShortMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallShortMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallShortMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallIntMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallIntMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallIntMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallLongMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallLongMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallLongMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallFloatMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallFloatMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallFloatMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JMethodIDPtr methodID)>>
- CallDoubleMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallDoubleMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallDoubleMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID)>>
- CallVoidMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallVoidMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallVoidMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualObjectMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualObjectMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualObjectMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualBooleanMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualBooleanMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualBooleanMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualByteMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualByteMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualByteMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualCharMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualCharMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualCharMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualShortMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualShortMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualShortMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualIntMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualIntMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualIntMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualLongMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualLongMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualLongMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualFloatMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualFloatMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualFloatMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualDoubleMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1>, JObjectPtr,
- JClassPtr, JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualDoubleMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualDoubleMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallNonvirtualVoidMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1>, JObjectPtr, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallNonvirtualVoidMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallNonvirtualVoidMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFieldIDPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig)>>
- GetFieldID,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetObjectField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JFieldIDPtr fieldID)>>
- GetBooleanField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetByteField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetCharField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetShortField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetIntField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetLongField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID)>>
- GetFloatField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env,
- JObjectPtr obj, JFieldIDPtr fieldID)>>
- GetDoubleField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JObjectPtr val)>>
- SetObjectField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JBooleanMarker val)>>
- SetBooleanField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JByteMarker val)>>
- SetByteField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JCharMarker val)>>
- SetCharField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JShortMarker val)>>
- SetShortField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JIntMarker val)>>
- SetIntField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JLongMarker val)>>
- SetLongField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JFloatMarker val)>>
- SetFloatField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj,
- JFieldIDPtr fieldID, JDoubleMarker val)>>
- SetDoubleField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JMethodIDPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- ffi.Pointer<ffi.Char> name,
- ffi.Pointer<ffi.Char> sig)>>
- GetStaticMethodID,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- CallStaticObjectMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticObjectMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallStaticObjectMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallStaticBooleanMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticBooleanMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallStaticBooleanMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- CallStaticByteMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticByteMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallStaticByteMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- CallStaticCharMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticCharMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallStaticCharMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallStaticShortMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticShortMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallStaticShortMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- CallStaticIntMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticIntMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallStaticIntMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- CallStaticLongMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticLongMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallStaticLongMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallStaticFloatMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticFloatMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallStaticFloatMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JMethodIDPtr methodID)>>
- CallStaticDoubleMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticDoubleMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(
- ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz,
- JMethodIDPtr methodID,
- ffi.Pointer<JValue> args)>>
- CallStaticDoubleMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID)>>
- CallStaticVoidMethod,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1>, JClassPtr,
- JMethodIDPtr, ffi.Pointer<ffi.Void>)>>
- CallStaticVoidMethodV,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JMethodIDPtr methodID, ffi.Pointer<JValue> args)>>
- CallStaticVoidMethodA,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFieldIDPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig)>>
- GetStaticFieldID,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>>
- GetStaticObjectField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JFieldIDPtr fieldID)>>
- GetStaticBooleanField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>>
- GetStaticByteField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>>
- GetStaticCharField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JFieldIDPtr fieldID)>>
- GetStaticShortField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>>
- GetStaticIntField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID)>>
- GetStaticLongField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JFieldIDPtr fieldID)>>
- GetStaticFloatField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleMarker Function(ffi.Pointer<JniEnv$1> env,
- JClassPtr clazz, JFieldIDPtr fieldID)>>
- GetStaticDoubleField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JObjectPtr val)>>
- SetStaticObjectField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JBooleanMarker val)>>
- SetStaticBooleanField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JByteMarker val)>>
- SetStaticByteField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JCharMarker val)>>
- SetStaticCharField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JShortMarker val)>>
- SetStaticShortField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JIntMarker val)>>
- SetStaticIntField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JLongMarker val)>>
- SetStaticLongField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JFloatMarker val)>>
- SetStaticFloatField,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- JFieldIDPtr fieldID, JDoubleMarker val)>>
- SetStaticDoubleField,
- required ffi.Pointer<
- ffi.NativeFunction<
- JStringPtr Function(ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<JCharMarker> unicodeChars, JSizeMarker len)>>
- NewString,
- required ffi.Pointer<
- ffi.NativeFunction<
- JSizeMarker Function(
- ffi.Pointer<JniEnv$1> env, JStringPtr string)>>
- GetStringLength,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JCharMarker> Function(ffi.Pointer<JniEnv$1> env,
- JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetStringChars,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JStringPtr string,
- ffi.Pointer<JCharMarker> isCopy)>>
- ReleaseStringChars,
- required ffi.Pointer<
- ffi.NativeFunction<
- JStringPtr Function(
- ffi.Pointer<JniEnv$1> env, ffi.Pointer<ffi.Char> bytes)>>
- NewStringUTF,
- required ffi.Pointer<
- ffi.NativeFunction<
- JSizeMarker Function(
- ffi.Pointer<JniEnv$1> env, JStringPtr string)>>
- GetStringUTFLength,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<ffi.Char> Function(ffi.Pointer<JniEnv$1> env,
- JStringPtr string, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetStringUTFChars,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JStringPtr string,
- ffi.Pointer<ffi.Char> utf)>>
- ReleaseStringUTFChars,
- required ffi.Pointer<
- ffi.NativeFunction<
- JSizeMarker Function(
- ffi.Pointer<JniEnv$1> env, JArrayPtr array)>>
- GetArrayLength,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectArrayPtr Function(
- ffi.Pointer<JniEnv$1> env,
- JSizeMarker length,
- JClassPtr elementClass,
- JObjectPtr initialElement)>>
- NewObjectArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env,
- JObjectArrayPtr array, JSizeMarker index)>>
- GetObjectArrayElement,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env,
- JObjectArrayPtr array, JSizeMarker index, JObjectPtr val)>>
- SetObjectArrayElement,
- required ffi.Pointer<
- ffi.NativeFunction<
- JBooleanArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewBooleanArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JByteArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewByteArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JCharArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewCharArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JShortArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewShortArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewIntArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewLongArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JFloatArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewFloatArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- JDoubleArrayPtr Function(
- ffi.Pointer<JniEnv$1> env, JSizeMarker length)>>
- NewDoubleArray,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JBooleanMarker> Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> isCopy)>>
- GetBooleanArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JByteMarker> Function(ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetByteArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JCharMarker> Function(ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetCharArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JShortMarker> Function(ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetShortArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JIntMarker> Function(ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetIntArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JLongMarker> Function(ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetLongArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JFloatMarker> Function(ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetFloatArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JDoubleMarker> Function(ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetDoubleArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- ffi.Pointer<JBooleanMarker> elems,
- JIntMarker mode)>>
- ReleaseBooleanArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- ffi.Pointer<JByteMarker> elems,
- JIntMarker mode)>>
- ReleaseByteArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- ffi.Pointer<JCharMarker> elems,
- JIntMarker mode)>>
- ReleaseCharArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- ffi.Pointer<JShortMarker> elems,
- JIntMarker mode)>>
- ReleaseShortArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JIntArrayPtr array,
- ffi.Pointer<JIntMarker> elems, JIntMarker mode)>>
- ReleaseIntArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- ffi.Pointer<JLongMarker> elems,
- JIntMarker mode)>>
- ReleaseLongArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- ffi.Pointer<JFloatMarker> elems,
- JIntMarker mode)>>
- ReleaseFloatArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- ffi.Pointer<JDoubleMarker> elems,
- JIntMarker mode)>>
- ReleaseDoubleArrayElements,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JBooleanMarker> buf)>>
- GetBooleanArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JByteMarker> buf)>>
- GetByteArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JCharMarker> buf)>>
- GetCharArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JShortMarker> buf)>>
- GetShortArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JIntMarker> buf)>>
- GetIntArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JLongMarker> buf)>>
- GetLongArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JFloatMarker> buf)>>
- GetFloatArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JDoubleMarker> buf)>>
- GetDoubleArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JBooleanArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JBooleanMarker> buf)>>
- SetBooleanArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JByteArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JByteMarker> buf)>>
- SetByteArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JCharArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JCharMarker> buf)>>
- SetCharArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JShortArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JShortMarker> buf)>>
- SetShortArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JIntArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JIntMarker> buf)>>
- SetIntArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JLongArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JLongMarker> buf)>>
- SetLongArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JFloatArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JFloatMarker> buf)>>
- SetFloatArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JDoubleArrayPtr array,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JDoubleMarker> buf)>>
- SetDoubleArrayRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JClassPtr clazz,
- ffi.Pointer<JNINativeMethod> methods, JIntMarker nMethods)>>
- RegisterNatives,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(
- ffi.Pointer<JniEnv$1> env, JClassPtr clazz)>>
- UnregisterNatives,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- MonitorEnter,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- MonitorExit,
- required ffi.Pointer<
- ffi.NativeFunction<
- JIntMarker Function(ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<ffi.Pointer<JavaVM$1>> vm)>>
- GetJavaVM,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr str,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<JCharMarker> buf)>>
- GetStringRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Pointer<JniEnv$1> env,
- JStringPtr str,
- JSizeMarker start,
- JSizeMarker len,
- ffi.Pointer<ffi.Char> buf)>>
- GetStringUTFRegion,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<ffi.Void> Function(ffi.Pointer<JniEnv$1> env,
- JArrayPtr array, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetPrimitiveArrayCritical,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JArrayPtr array,
- ffi.Pointer<ffi.Void> carray, JIntMarker mode)>>
- ReleasePrimitiveArrayCritical,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<JCharMarker> Function(ffi.Pointer<JniEnv$1> env,
- JStringPtr str, ffi.Pointer<JBooleanMarker> isCopy)>>
- GetStringCritical,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JStringPtr str,
- ffi.Pointer<JCharMarker> carray)>>
- ReleaseStringCritical,
- required ffi.Pointer<
- ffi.NativeFunction<
- JWeakPtr Function(ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- NewWeakGlobalRef,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Pointer<JniEnv$1> env, JWeakPtr obj)>>
- DeleteWeakGlobalRef,
- required ffi.Pointer<
- ffi
- .NativeFunction<JBooleanMarker Function(ffi.Pointer<JniEnv$1> env)>>
- ExceptionCheck,
- required ffi.Pointer<
- ffi.NativeFunction<
- JObjectPtr Function(ffi.Pointer<JniEnv$1> env,
- ffi.Pointer<ffi.Void> address, JLongMarker capacity)>>
- NewDirectByteBuffer,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Pointer<ffi.Void> Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr buf)>>
- GetDirectBufferAddress,
- required ffi.Pointer<
- ffi.NativeFunction<
- JLongMarker Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr buf)>>
- GetDirectBufferCapacity,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.UnsignedInt Function(
- ffi.Pointer<JniEnv$1> env, JObjectPtr obj)>>
- GetObjectRefType,
- }) =>
- $allocator<JNINativeInterface>()
- ..ref.reserved0 = reserved0
- ..ref.reserved1 = reserved1
- ..ref.reserved2 = reserved2
- ..ref.reserved3 = reserved3
- ..ref.GetVersion = GetVersion
- ..ref.DefineClass = DefineClass
- ..ref.FindClass = FindClass
- ..ref.FromReflectedMethod = FromReflectedMethod
- ..ref.FromReflectedField = FromReflectedField
- ..ref.ToReflectedMethod = ToReflectedMethod
- ..ref.GetSuperclass = GetSuperclass
- ..ref.IsAssignableFrom = IsAssignableFrom
- ..ref.ToReflectedField = ToReflectedField
- ..ref.Throw = Throw
- ..ref.ThrowNew = ThrowNew
- ..ref.ExceptionOccurred = ExceptionOccurred
- ..ref.ExceptionDescribe = ExceptionDescribe
- ..ref.ExceptionClear = ExceptionClear
- ..ref.FatalError = FatalError
- ..ref.PushLocalFrame = PushLocalFrame
- ..ref.PopLocalFrame = PopLocalFrame
- ..ref.NewGlobalRef = NewGlobalRef
- ..ref.DeleteGlobalRef = DeleteGlobalRef
- ..ref.DeleteLocalRef = DeleteLocalRef
- ..ref.IsSameObject = IsSameObject
- ..ref.NewLocalRef = NewLocalRef
- ..ref.EnsureLocalCapacity = EnsureLocalCapacity
- ..ref.AllocObject = AllocObject
- ..ref.NewObject = NewObject
- ..ref.NewObjectV = NewObjectV
- ..ref.NewObjectA = NewObjectA
- ..ref.GetObjectClass = GetObjectClass
- ..ref.IsInstanceOf = IsInstanceOf
- ..ref.GetMethodID = GetMethodID
- ..ref.CallObjectMethod = CallObjectMethod
- ..ref.CallObjectMethodV = CallObjectMethodV
- ..ref.CallObjectMethodA = CallObjectMethodA
- ..ref.CallBooleanMethod = CallBooleanMethod
- ..ref.CallBooleanMethodV = CallBooleanMethodV
- ..ref.CallBooleanMethodA = CallBooleanMethodA
- ..ref.CallByteMethod = CallByteMethod
- ..ref.CallByteMethodV = CallByteMethodV
- ..ref.CallByteMethodA = CallByteMethodA
- ..ref.CallCharMethod = CallCharMethod
- ..ref.CallCharMethodV = CallCharMethodV
- ..ref.CallCharMethodA = CallCharMethodA
- ..ref.CallShortMethod = CallShortMethod
- ..ref.CallShortMethodV = CallShortMethodV
- ..ref.CallShortMethodA = CallShortMethodA
- ..ref.CallIntMethod = CallIntMethod
- ..ref.CallIntMethodV = CallIntMethodV
- ..ref.CallIntMethodA = CallIntMethodA
- ..ref.CallLongMethod = CallLongMethod
- ..ref.CallLongMethodV = CallLongMethodV
- ..ref.CallLongMethodA = CallLongMethodA
- ..ref.CallFloatMethod = CallFloatMethod
- ..ref.CallFloatMethodV = CallFloatMethodV
- ..ref.CallFloatMethodA = CallFloatMethodA
- ..ref.CallDoubleMethod = CallDoubleMethod
- ..ref.CallDoubleMethodV = CallDoubleMethodV
- ..ref.CallDoubleMethodA = CallDoubleMethodA
- ..ref.CallVoidMethod = CallVoidMethod
- ..ref.CallVoidMethodV = CallVoidMethodV
- ..ref.CallVoidMethodA = CallVoidMethodA
- ..ref.CallNonvirtualObjectMethod = CallNonvirtualObjectMethod
- ..ref.CallNonvirtualObjectMethodV = CallNonvirtualObjectMethodV
- ..ref.CallNonvirtualObjectMethodA = CallNonvirtualObjectMethodA
- ..ref.CallNonvirtualBooleanMethod = CallNonvirtualBooleanMethod
- ..ref.CallNonvirtualBooleanMethodV = CallNonvirtualBooleanMethodV
- ..ref.CallNonvirtualBooleanMethodA = CallNonvirtualBooleanMethodA
- ..ref.CallNonvirtualByteMethod = CallNonvirtualByteMethod
- ..ref.CallNonvirtualByteMethodV = CallNonvirtualByteMethodV
- ..ref.CallNonvirtualByteMethodA = CallNonvirtualByteMethodA
- ..ref.CallNonvirtualCharMethod = CallNonvirtualCharMethod
- ..ref.CallNonvirtualCharMethodV = CallNonvirtualCharMethodV
- ..ref.CallNonvirtualCharMethodA = CallNonvirtualCharMethodA
- ..ref.CallNonvirtualShortMethod = CallNonvirtualShortMethod
- ..ref.CallNonvirtualShortMethodV = CallNonvirtualShortMethodV
- ..ref.CallNonvirtualShortMethodA = CallNonvirtualShortMethodA
- ..ref.CallNonvirtualIntMethod = CallNonvirtualIntMethod
- ..ref.CallNonvirtualIntMethodV = CallNonvirtualIntMethodV
- ..ref.CallNonvirtualIntMethodA = CallNonvirtualIntMethodA
- ..ref.CallNonvirtualLongMethod = CallNonvirtualLongMethod
- ..ref.CallNonvirtualLongMethodV = CallNonvirtualLongMethodV
- ..ref.CallNonvirtualLongMethodA = CallNonvirtualLongMethodA
- ..ref.CallNonvirtualFloatMethod = CallNonvirtualFloatMethod
- ..ref.CallNonvirtualFloatMethodV = CallNonvirtualFloatMethodV
- ..ref.CallNonvirtualFloatMethodA = CallNonvirtualFloatMethodA
- ..ref.CallNonvirtualDoubleMethod = CallNonvirtualDoubleMethod
- ..ref.CallNonvirtualDoubleMethodV = CallNonvirtualDoubleMethodV
- ..ref.CallNonvirtualDoubleMethodA = CallNonvirtualDoubleMethodA
- ..ref.CallNonvirtualVoidMethod = CallNonvirtualVoidMethod
- ..ref.CallNonvirtualVoidMethodV = CallNonvirtualVoidMethodV
- ..ref.CallNonvirtualVoidMethodA = CallNonvirtualVoidMethodA
- ..ref.GetFieldID = GetFieldID
- ..ref.GetObjectField = GetObjectField
- ..ref.GetBooleanField = GetBooleanField
- ..ref.GetByteField = GetByteField
- ..ref.GetCharField = GetCharField
- ..ref.GetShortField = GetShortField
- ..ref.GetIntField = GetIntField
- ..ref.GetLongField = GetLongField
- ..ref.GetFloatField = GetFloatField
- ..ref.GetDoubleField = GetDoubleField
- ..ref.SetObjectField = SetObjectField
- ..ref.SetBooleanField = SetBooleanField
- ..ref.SetByteField = SetByteField
- ..ref.SetCharField = SetCharField
- ..ref.SetShortField = SetShortField
- ..ref.SetIntField = SetIntField
- ..ref.SetLongField = SetLongField
- ..ref.SetFloatField = SetFloatField
- ..ref.SetDoubleField = SetDoubleField
- ..ref.GetStaticMethodID = GetStaticMethodID
- ..ref.CallStaticObjectMethod = CallStaticObjectMethod
- ..ref.CallStaticObjectMethodV = CallStaticObjectMethodV
- ..ref.CallStaticObjectMethodA = CallStaticObjectMethodA
- ..ref.CallStaticBooleanMethod = CallStaticBooleanMethod
- ..ref.CallStaticBooleanMethodV = CallStaticBooleanMethodV
- ..ref.CallStaticBooleanMethodA = CallStaticBooleanMethodA
- ..ref.CallStaticByteMethod = CallStaticByteMethod
- ..ref.CallStaticByteMethodV = CallStaticByteMethodV
- ..ref.CallStaticByteMethodA = CallStaticByteMethodA
- ..ref.CallStaticCharMethod = CallStaticCharMethod
- ..ref.CallStaticCharMethodV = CallStaticCharMethodV
- ..ref.CallStaticCharMethodA = CallStaticCharMethodA
- ..ref.CallStaticShortMethod = CallStaticShortMethod
- ..ref.CallStaticShortMethodV = CallStaticShortMethodV
- ..ref.CallStaticShortMethodA = CallStaticShortMethodA
- ..ref.CallStaticIntMethod = CallStaticIntMethod
- ..ref.CallStaticIntMethodV = CallStaticIntMethodV
- ..ref.CallStaticIntMethodA = CallStaticIntMethodA
- ..ref.CallStaticLongMethod = CallStaticLongMethod
- ..ref.CallStaticLongMethodV = CallStaticLongMethodV
- ..ref.CallStaticLongMethodA = CallStaticLongMethodA
- ..ref.CallStaticFloatMethod = CallStaticFloatMethod
- ..ref.CallStaticFloatMethodV = CallStaticFloatMethodV
- ..ref.CallStaticFloatMethodA = CallStaticFloatMethodA
- ..ref.CallStaticDoubleMethod = CallStaticDoubleMethod
- ..ref.CallStaticDoubleMethodV = CallStaticDoubleMethodV
- ..ref.CallStaticDoubleMethodA = CallStaticDoubleMethodA
- ..ref.CallStaticVoidMethod = CallStaticVoidMethod
- ..ref.CallStaticVoidMethodV = CallStaticVoidMethodV
- ..ref.CallStaticVoidMethodA = CallStaticVoidMethodA
- ..ref.GetStaticFieldID = GetStaticFieldID
- ..ref.GetStaticObjectField = GetStaticObjectField
- ..ref.GetStaticBooleanField = GetStaticBooleanField
- ..ref.GetStaticByteField = GetStaticByteField
- ..ref.GetStaticCharField = GetStaticCharField
- ..ref.GetStaticShortField = GetStaticShortField
- ..ref.GetStaticIntField = GetStaticIntField
- ..ref.GetStaticLongField = GetStaticLongField
- ..ref.GetStaticFloatField = GetStaticFloatField
- ..ref.GetStaticDoubleField = GetStaticDoubleField
- ..ref.SetStaticObjectField = SetStaticObjectField
- ..ref.SetStaticBooleanField = SetStaticBooleanField
- ..ref.SetStaticByteField = SetStaticByteField
- ..ref.SetStaticCharField = SetStaticCharField
- ..ref.SetStaticShortField = SetStaticShortField
- ..ref.SetStaticIntField = SetStaticIntField
- ..ref.SetStaticLongField = SetStaticLongField
- ..ref.SetStaticFloatField = SetStaticFloatField
- ..ref.SetStaticDoubleField = SetStaticDoubleField
- ..ref.NewString = NewString
- ..ref.GetStringLength = GetStringLength
- ..ref.GetStringChars = GetStringChars
- ..ref.ReleaseStringChars = ReleaseStringChars
- ..ref.NewStringUTF = NewStringUTF
- ..ref.GetStringUTFLength = GetStringUTFLength
- ..ref.GetStringUTFChars = GetStringUTFChars
- ..ref.ReleaseStringUTFChars = ReleaseStringUTFChars
- ..ref.GetArrayLength = GetArrayLength
- ..ref.NewObjectArray = NewObjectArray
- ..ref.GetObjectArrayElement = GetObjectArrayElement
- ..ref.SetObjectArrayElement = SetObjectArrayElement
- ..ref.NewBooleanArray = NewBooleanArray
- ..ref.NewByteArray = NewByteArray
- ..ref.NewCharArray = NewCharArray
- ..ref.NewShortArray = NewShortArray
- ..ref.NewIntArray = NewIntArray
- ..ref.NewLongArray = NewLongArray
- ..ref.NewFloatArray = NewFloatArray
- ..ref.NewDoubleArray = NewDoubleArray
- ..ref.GetBooleanArrayElements = GetBooleanArrayElements
- ..ref.GetByteArrayElements = GetByteArrayElements
- ..ref.GetCharArrayElements = GetCharArrayElements
- ..ref.GetShortArrayElements = GetShortArrayElements
- ..ref.GetIntArrayElements = GetIntArrayElements
- ..ref.GetLongArrayElements = GetLongArrayElements
- ..ref.GetFloatArrayElements = GetFloatArrayElements
- ..ref.GetDoubleArrayElements = GetDoubleArrayElements
- ..ref.ReleaseBooleanArrayElements = ReleaseBooleanArrayElements
- ..ref.ReleaseByteArrayElements = ReleaseByteArrayElements
- ..ref.ReleaseCharArrayElements = ReleaseCharArrayElements
- ..ref.ReleaseShortArrayElements = ReleaseShortArrayElements
- ..ref.ReleaseIntArrayElements = ReleaseIntArrayElements
- ..ref.ReleaseLongArrayElements = ReleaseLongArrayElements
- ..ref.ReleaseFloatArrayElements = ReleaseFloatArrayElements
- ..ref.ReleaseDoubleArrayElements = ReleaseDoubleArrayElements
- ..ref.GetBooleanArrayRegion = GetBooleanArrayRegion
- ..ref.GetByteArrayRegion = GetByteArrayRegion
- ..ref.GetCharArrayRegion = GetCharArrayRegion
- ..ref.GetShortArrayRegion = GetShortArrayRegion
- ..ref.GetIntArrayRegion = GetIntArrayRegion
- ..ref.GetLongArrayRegion = GetLongArrayRegion
- ..ref.GetFloatArrayRegion = GetFloatArrayRegion
- ..ref.GetDoubleArrayRegion = GetDoubleArrayRegion
- ..ref.SetBooleanArrayRegion = SetBooleanArrayRegion
- ..ref.SetByteArrayRegion = SetByteArrayRegion
- ..ref.SetCharArrayRegion = SetCharArrayRegion
- ..ref.SetShortArrayRegion = SetShortArrayRegion
- ..ref.SetIntArrayRegion = SetIntArrayRegion
- ..ref.SetLongArrayRegion = SetLongArrayRegion
- ..ref.SetFloatArrayRegion = SetFloatArrayRegion
- ..ref.SetDoubleArrayRegion = SetDoubleArrayRegion
- ..ref.RegisterNatives = RegisterNatives
- ..ref.UnregisterNatives = UnregisterNatives
- ..ref.MonitorEnter = MonitorEnter
- ..ref.MonitorExit = MonitorExit
- ..ref.GetJavaVM = GetJavaVM
- ..ref.GetStringRegion = GetStringRegion
- ..ref.GetStringUTFRegion = GetStringUTFRegion
- ..ref.GetPrimitiveArrayCritical = GetPrimitiveArrayCritical
- ..ref.ReleasePrimitiveArrayCritical = ReleasePrimitiveArrayCritical
- ..ref.GetStringCritical = GetStringCritical
- ..ref.ReleaseStringCritical = ReleaseStringCritical
- ..ref.NewWeakGlobalRef = NewWeakGlobalRef
- ..ref.DeleteWeakGlobalRef = DeleteWeakGlobalRef
- ..ref.ExceptionCheck = ExceptionCheck
- ..ref.NewDirectByteBuffer = NewDirectByteBuffer
- ..ref.GetDirectBufferAddress = GetDirectBufferAddress
- ..ref.GetDirectBufferCapacity = GetDirectBufferCapacity
- ..ref.GetObjectRefType = GetObjectRefType;
-}
+final class JNINativeInterface extends ffi.Opaque {}
final class JNINativeMethod extends ffi.Struct {
external ffi.Pointer<ffi.Char> name;
@@ -6108,111 +3033,19 @@
}
typedef MutexLock = pthread_mutex_t;
+typedef __darwin_pthread_cond_t = _opaque_pthread_cond_t;
+typedef __darwin_pthread_key_t = ffi.UnsignedLong;
+typedef Dart__darwin_pthread_key_t = int;
+typedef __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
-final class UnnamedStruct extends ffi.Struct {
- @ffi.UnsignedInt()
- external int __low;
+final class _opaque_pthread_cond_t extends ffi.Opaque {}
- @ffi.UnsignedInt()
- external int __high;
-
- static ffi.Pointer<UnnamedStruct> $allocate(
- ffi.Allocator $allocator, {
- required int $low,
- required int $high,
- }) =>
- $allocator<UnnamedStruct>()
- ..ref.__low = $low
- ..ref.__high = $high;
-}
-
-final class __atomic_wide_counter extends ffi.Union {
- @ffi.UnsignedLongLong()
- external int __value64;
-
- external UnnamedStruct __value32;
-}
-
-final class __pthread_cond_s extends ffi.Struct {
- external __atomic_wide_counter __wseq;
-
- external __atomic_wide_counter __g1_start;
-
- @ffi.Array.multi([2])
- external ffi.Array<ffi.UnsignedInt> __g_size;
-
- @ffi.UnsignedInt()
- external int __g1_orig_size;
-
- @ffi.UnsignedInt()
- external int __wrefs;
-
- @ffi.Array.multi([2])
- external ffi.Array<ffi.UnsignedInt> __g_signals;
-
- @ffi.UnsignedInt()
- external int __unused_initialized_1;
-
- @ffi.UnsignedInt()
- external int __unused_initialized_2;
-}
-
-final class __pthread_internal_list extends ffi.Struct {
- external ffi.Pointer<__pthread_internal_list> __prev;
-
- external ffi.Pointer<__pthread_internal_list> __next;
-}
-
-typedef __pthread_list_t = __pthread_internal_list;
-
-final class __pthread_mutex_s extends ffi.Struct {
- @ffi.Int()
- external int __lock;
-
- @ffi.UnsignedInt()
- external int __count;
-
- @ffi.Int()
- external int __owner;
-
- @ffi.UnsignedInt()
- external int __nusers;
-
- @ffi.Int()
- external int __kind;
-
- @ffi.Short()
- external int __spins;
-
- @ffi.Short()
- external int __elision;
-
- external __pthread_list_t __list;
-}
+final class _opaque_pthread_mutex_t extends ffi.Opaque {}
final class jfieldID_ extends ffi.Opaque {}
final class jmethodID_ extends ffi.Opaque {}
-final class pthread_cond_t extends ffi.Union {
- external __pthread_cond_s __data;
-
- @ffi.Array.multi([48])
- external ffi.Array<ffi.Char> __size;
-
- @ffi.LongLong()
- external int __align;
-}
-
-typedef pthread_key_t = ffi.UnsignedInt;
-typedef Dartpthread_key_t = int;
-
-final class pthread_mutex_t extends ffi.Union {
- external __pthread_mutex_s __data;
-
- @ffi.Array.multi([40])
- external ffi.Array<ffi.Char> __size;
-
- @ffi.Long()
- external int __align;
-}
+typedef pthread_cond_t = __darwin_pthread_cond_t;
+typedef pthread_key_t = __darwin_pthread_key_t;
+typedef pthread_mutex_t = __darwin_pthread_mutex_t;
diff --git a/pkgs/jni/pubspec.yaml b/pkgs/jni/pubspec.yaml
index 7f21288..b4043a0 100644
--- a/pkgs/jni/pubspec.yaml
+++ b/pkgs/jni/pubspec.yaml
@@ -4,7 +4,7 @@
name: jni
description: A library to access JNI from Dart and Flutter that acts as a support library for package:jnigen.
-version: 1.0.1-wip
+version: 1.0.1
repository: https://github.com/dart-lang/native/tree/main/pkgs/jni
issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Ajni
@@ -23,7 +23,7 @@
args: ^2.5.0
collection: ^1.19.1
ffi: ^2.1.3
- jni_util: ^0.1.0
+ jni_util: ^1.0.0
meta: ^1.15.0
package_config: '>=2.1.0 <4.0.0'
path: ^1.9.0
diff --git a/pkgs/jni_util/CHANGELOG.md b/pkgs/jni_util/CHANGELOG.md
index f214d15..c173fad 100644
--- a/pkgs/jni_util/CHANGELOG.md
+++ b/pkgs/jni_util/CHANGELOG.md
@@ -1,3 +1,3 @@
-## 1.0.0-wip
+## 1.0.0
- Initial version containing shared JDK detection utilities.
diff --git a/pkgs/jni_util/pubspec.yaml b/pkgs/jni_util/pubspec.yaml
index db96c79..eca06cc 100644
--- a/pkgs/jni_util/pubspec.yaml
+++ b/pkgs/jni_util/pubspec.yaml
@@ -4,7 +4,7 @@
name: jni_util
description: Shared utility functions for package:jni and package:jnigen.
-version: 1.0.0-wip
+version: 1.0.0
repository: https://github.com/dart-lang/native/tree/main/pkgs/jni_util
issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Ajni_util
diff --git a/pkgs/jnigen/CHANGELOG.md b/pkgs/jnigen/CHANGELOG.md
index 09ff86b..2bd0824 100644
--- a/pkgs/jnigen/CHANGELOG.md
+++ b/pkgs/jnigen/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 0.17.0-wip
+## 0.17.0
- Update kotlin-metadata-jvm, allowing JNIgen to run on newer packages.
- Fixed incorrect code generation for generic constructors in generic classes.
diff --git a/pkgs/jnigen/pubspec.yaml b/pkgs/jnigen/pubspec.yaml
index 68312cc..d730c33 100644
--- a/pkgs/jnigen/pubspec.yaml
+++ b/pkgs/jnigen/pubspec.yaml
@@ -5,7 +5,7 @@
name: jnigen
description: A Dart bindings generator for Java and Kotlin that uses JNI under the hood to interop with Java virtual machine.
# Keep in sync with `version` in `dart_generator.dart`.
-version: 0.17.0-wip
+version: 0.17.0
repository: https://github.com/dart-lang/native/tree/main/pkgs/jnigen
issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Ajnigen
@@ -23,7 +23,7 @@
args: ^2.5.0
cli_config: '>=0.1.0 <0.3.0'
http: ^1.3.0
- jni_util: ^0.1.0
+ jni_util: ^1.0.0
json_annotation: ^4.9.0
logging: ^1.2.0
meta: ^1.15.0
diff --git a/pkgs/objective_c/CHANGELOG.md b/pkgs/objective_c/CHANGELOG.md
index 769a9ee..9c8c9c3 100644
--- a/pkgs/objective_c/CHANGELOG.md
+++ b/pkgs/objective_c/CHANGELOG.md
@@ -1,6 +1,9 @@
-## 9.5.0-wip
+## 9.5.0
- Add internal utils required to support FFIgen's new port based blocks.
+- Make an internal-only FFI struct, `DOBJC_Context`, opaque. This is
+ technically a breaking change, but it's extremely unlikely that any users are
+ using these internal structs (and doing so would be a mistake).
## 9.4.1
diff --git a/pkgs/objective_c/ffigen_c.yaml b/pkgs/objective_c/ffigen_c.yaml
index afa1ab0..b540eb6 100644
--- a/pkgs/objective_c/ffigen_c.yaml
+++ b/pkgs/objective_c/ffigen_c.yaml
@@ -33,8 +33,11 @@
include:
- 'Dart_FinalizableHandle'
structs:
+ dependency-only: opaque
include:
- - '_DOBJC_Context'
+ - '_ObjCBlockImpl'
+ - '_ObjCBlockDesc'
+ - '_Version'
rename:
'_ObjC(.*)': 'ObjC$1'
'_Dart_FinalizableHandle': 'Dart_FinalizableHandle_'
diff --git a/pkgs/objective_c/lib/src/c_bindings_generated.dart b/pkgs/objective_c/lib/src/c_bindings_generated.dart
index 16ec280..e0e5763 100644
--- a/pkgs/objective_c/lib/src/c_bindings_generated.dart
+++ b/pkgs/objective_c/lib/src/c_bindings_generated.dart
@@ -27,6 +27,12 @@
)
external void awaitWaiter(ffi.Pointer<ffi.Void> waiter);
+@ffi.Native<ffi.Pointer<DOBJC_Context> Function()>(
+ symbol: 'DOBJC_createContext',
+ isLeaf: true,
+)
+external ffi.Pointer<DOBJC_Context> createContext();
+
@ffi.Native<ffi.Void Function(Dart_FinalizableHandle, ffi.Handle)>(
symbol: 'DOBJC_deleteFinalizableHandle',
)
@@ -40,14 +46,6 @@
)
external void disposeObjCBlockWithClosure(ffi.Pointer<ObjCBlockImpl> block);
-@ffi.Native<ffi.Pointer<DOBJC_Context> Function(ffi.Pointer<DOBJC_Context>)>(
- symbol: 'DOBJC_fillContext',
- isLeaf: true,
-)
-external ffi.Pointer<DOBJC_Context> fillContext(
- ffi.Pointer<DOBJC_Context> context,
-);
-
/// Returns the MacOS/iOS version we're running on.
@ffi.Native<_Version Function()>(symbol: 'DOBJC_getOsVesion', isLeaf: true)
external _Version getOsVesion();
@@ -114,95 +112,7 @@
)
external void signalWaiter(ffi.Pointer<ffi.Void> waiter);
-final class DOBJC_Context extends ffi.Struct {
- @ffi.Int64()
- external int version;
-
- external ffi.Pointer<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function()>>
- newWaiter$1;
-
- external ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>
- >
- awaitWaiter$1;
-
- external ffi.Pointer<
- ffi.NativeFunction<ffi.Pointer<_Dart_Isolate> Function()>
- >
- currentIsolate;
-
- external ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Pointer<_Dart_Isolate>)>
- >
- enterIsolate;
-
- external ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> exitIsolate;
-
- external ffi.Pointer<ffi.NativeFunction<ffi.Int64 Function()>> getMainPortId;
-
- external ffi.Pointer<ffi.NativeFunction<ffi.Bool Function(ffi.Int64)>>
- getCurrentThreadOwnsIsolate;
-
- external ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Int64, ffi.Pointer<ffi.Void>)>
- >
- invokeListenerPortBlock$1;
-
- external ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(ffi.Int64, ffi.Pointer<ffi.Void>, ffi.Pointer<ffi.Void>)
- >
- >
- invokeBlockingPortBlock$1;
-
- static ffi.Pointer<DOBJC_Context> $allocate(
- ffi.Allocator $allocator, {
- required int version,
- required ffi.Pointer<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function()>>
- newWaiter$1,
- required ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>
- >
- awaitWaiter$1,
- required ffi.Pointer<
- ffi.NativeFunction<ffi.Pointer<_Dart_Isolate> Function()>
- >
- currentIsolate,
- required ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Pointer<_Dart_Isolate>)>
- >
- enterIsolate,
- required ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> exitIsolate,
- required ffi.Pointer<ffi.NativeFunction<ffi.Int64 Function()>>
- getMainPortId,
- required ffi.Pointer<ffi.NativeFunction<ffi.Bool Function(ffi.Int64)>>
- getCurrentThreadOwnsIsolate,
- required ffi.Pointer<
- ffi.NativeFunction<ffi.Void Function(ffi.Int64, ffi.Pointer<ffi.Void>)>
- >
- invokeListenerPortBlock$1,
- required ffi.Pointer<
- ffi.NativeFunction<
- ffi.Void Function(
- ffi.Int64,
- ffi.Pointer<ffi.Void>,
- ffi.Pointer<ffi.Void>,
- )
- >
- >
- invokeBlockingPortBlock$1,
- }) => $allocator<DOBJC_Context>()
- ..ref.version = version
- ..ref.newWaiter$1 = newWaiter$1
- ..ref.awaitWaiter$1 = awaitWaiter$1
- ..ref.currentIsolate = currentIsolate
- ..ref.enterIsolate = enterIsolate
- ..ref.exitIsolate = exitIsolate
- ..ref.getMainPortId = getMainPortId
- ..ref.getCurrentThreadOwnsIsolate = getCurrentThreadOwnsIsolate
- ..ref.invokeListenerPortBlock$1 = invokeListenerPortBlock$1
- ..ref.invokeBlockingPortBlock$1 = invokeBlockingPortBlock$1;
-}
+final class DOBJC_Context extends ffi.Opaque {}
typedef Dart_FinalizableHandle = ffi.Pointer<Dart_FinalizableHandle_>;
@@ -293,8 +203,6 @@
final class ObjCObjectImpl extends ffi.Opaque {}
-final class _Dart_Isolate extends ffi.Opaque {}
-
final class _Version extends ffi.Struct {
@ffi.Int()
external int major;
diff --git a/pkgs/objective_c/lib/src/internal.dart b/pkgs/objective_c/lib/src/internal.dart
index c3af27f..aa2381c 100644
--- a/pkgs/objective_c/lib/src/internal.dart
+++ b/pkgs/objective_c/lib/src/internal.dart
@@ -580,7 +580,7 @@
}
/// Only for use by FFIgen bindings.
-final ContextPtr objCContext = c.fillContext(calloc<c.DOBJC_Context>());
+final ContextPtr objCContext = c.createContext();
// Not exported by ../objective_c.dart, because they're only for testing.
bool blockHasRegisteredClosure(BlockPtr block) =>
diff --git a/pkgs/objective_c/pubspec.yaml b/pkgs/objective_c/pubspec.yaml
index 5393ca9..6d4ff3c 100644
--- a/pkgs/objective_c/pubspec.yaml
+++ b/pkgs/objective_c/pubspec.yaml
@@ -3,7 +3,7 @@
# BSD-style license that can be found in the LICENSE file.
name: objective_c
description: 'A library to access Objective C from Flutter that acts as a support library for package:ffigen.'
-version: 9.5.0-wip
+version: 9.5.0
repository: https://github.com/dart-lang/native/tree/main/pkgs/objective_c
issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aobjective_c
diff --git a/pkgs/objective_c/src/objective_c.c b/pkgs/objective_c/src/objective_c.c
index f8b8b0d..a239c2c 100644
--- a/pkgs/objective_c/src/objective_c.c
+++ b/pkgs/objective_c/src/objective_c.c
@@ -50,7 +50,8 @@
return pointer;
}
-FFI_EXPORT DOBJC_Context* DOBJC_fillContext(DOBJC_Context* context) {
+FFI_EXPORT DOBJC_Context* DOBJC_createContext(void) {
+ DOBJC_Context* context = (DOBJC_Context*)malloc(sizeof(DOBJC_Context));
context->version = 2;
context->newWaiter = DOBJC_newWaiter;
context->awaitWaiter = DOBJC_awaitWaiter;
diff --git a/pkgs/objective_c/src/objective_c.h b/pkgs/objective_c/src/objective_c.h
index 46f808a..729d98a 100644
--- a/pkgs/objective_c/src/objective_c.h
+++ b/pkgs/objective_c/src/objective_c.h
@@ -87,6 +87,6 @@
void (*invokeListenerPortBlock)(int64_t port, void*);
void (*invokeBlockingPortBlock)(int64_t port, void*, void*);
} DOBJC_Context;
-FFI_EXPORT DOBJC_Context* DOBJC_fillContext(DOBJC_Context* context);
+FFI_EXPORT DOBJC_Context* DOBJC_createContext(void);
#endif // OBJECTIVE_C_SRC_OBJECTIVE_C_H_
diff --git a/pkgs/objective_c/test/generate_code_test.dart b/pkgs/objective_c/test/generate_code_test.dart
index 34bf0f8..ba816c0 100644
--- a/pkgs/objective_c/test/generate_code_test.dart
+++ b/pkgs/objective_c/test/generate_code_test.dart
@@ -33,7 +33,7 @@
final cBindings = File(
'lib/src/c_bindings_generated.dart',
).readAsStringSync();
- expect(cBindings, contains('fillContext'));
+ expect(cBindings, contains('createContext'));
expect(cBindings, contains('DOBJC_Context'));
expect(cBindings, contains('Dart_FinalizableHandle'));
expect(cBindings, contains('ILLEGAL_PORT'));
diff --git a/pkgs/swiftgen/CHANGELOG.md b/pkgs/swiftgen/CHANGELOG.md
index b9538e7..1a13532 100644
--- a/pkgs/swiftgen/CHANGELOG.md
+++ b/pkgs/swiftgen/CHANGELOG.md
@@ -1,4 +1,4 @@
-## 0.1.3-wip
+## 0.1.3
- Bump ffigen, objective_c, and swift2objc versions.
- Fix omitted delegation of `target` property from `SwiftGenerator` to `Swift2ObjCGenerator`.
diff --git a/pkgs/swiftgen/pubspec.yaml b/pkgs/swiftgen/pubspec.yaml
index 7e8891e..bd2b334 100644
--- a/pkgs/swiftgen/pubspec.yaml
+++ b/pkgs/swiftgen/pubspec.yaml
@@ -4,7 +4,7 @@
name: swiftgen
description: 'A tool for generating bindings that allow interop between Dart and Swift code.'
-version: 0.1.3-wip
+version: 0.1.3
repository: https://github.com/dart-lang/native/tree/main/pkgs/swiftgen
issue_tracker: https://github.com/dart-lang/native/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aswiftgen
@@ -21,7 +21,7 @@
ffi: ^2.1.0
ffigen: ^21.0.0
logging: ^1.3.0
- objective_c: ^9.4.1
+ objective_c: ^9.5.0
package_config: '>=2.2.0 <4.0.0'
path: ^1.9.1
swift2objc: ^0.2.0