| // Autogenerated file. Do not edit. |
| // Generated from an annotated version of jni.h provided in Android NDK. |
| // (NDK Version 23.1.7779620) |
| // The license for original file is provided below: |
| |
| /* |
| * Copyright (C) 2006 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /* |
| * JNI specification, as defined by Sun: |
| * http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html |
| * |
| * Everything here is expected to be VM-neutral. |
| */ |
| |
| // ignore_for_file: always_specify_types |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: constant_identifier_names |
| // ignore_for_file: unused_field |
| // ignore_for_file: unused_element |
| // coverage:ignore-file |
| |
| // AUTO GENERATED FILE, DO NOT EDIT. |
| // |
| // Generated by `package:ffigen`. |
| import 'dart:ffi' as ffi; |
| |
| /// Bindings for libdartjni.so which is part of jni plugin. |
| /// |
| /// It also transitively includes type definitions such as JNIEnv from third_party/jni.h; |
| /// |
| /// However, functions prefixed JNI_ are not usable because they are in a different shared library. |
| /// |
| /// Regenerate bindings with `flutter pub run ffigen.dart --config ffigen.yaml`. |
| /// |
| class JniBindings { |
| /// Holds the symbol lookup function. |
| final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName) |
| _lookup; |
| |
| /// The symbols are looked up in [dynamicLibrary]. |
| JniBindings(ffi.DynamicLibrary dynamicLibrary) |
| : _lookup = dynamicLibrary.lookup; |
| |
| /// The symbols are looked up with [lookup]. |
| JniBindings.fromLookup( |
| ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName) |
| lookup) |
| : _lookup = lookup; |
| |
| ffi.Pointer<JniAccessors> GetAccessors() { |
| return _GetAccessors(); |
| } |
| |
| late final _GetAccessorsPtr = |
| _lookup<ffi.NativeFunction<ffi.Pointer<JniAccessors> Function()>>( |
| 'GetAccessors'); |
| late final _GetAccessors = |
| _GetAccessorsPtr.asFunction<ffi.Pointer<JniAccessors> Function()>(); |
| |
| ffi.Pointer<JavaVM> GetJavaVM() { |
| return _GetJavaVM(); |
| } |
| |
| late final _GetJavaVMPtr = |
| _lookup<ffi.NativeFunction<ffi.Pointer<JavaVM> Function()>>('GetJavaVM'); |
| late final _GetJavaVM = |
| _GetJavaVMPtr.asFunction<ffi.Pointer<JavaVM> Function()>(); |
| |
| ffi.Pointer<JniEnv> GetJniEnv() { |
| return _GetJniEnv(); |
| } |
| |
| late final _GetJniEnvPtr = |
| _lookup<ffi.NativeFunction<ffi.Pointer<JniEnv> Function()>>('GetJniEnv'); |
| late final _GetJniEnv = |
| _GetJniEnvPtr.asFunction<ffi.Pointer<JniEnv> Function()>(); |
| |
| ffi.Pointer<JniEnv> SpawnJvm( |
| ffi.Pointer<JavaVMInitArgs> args, |
| ) { |
| return _SpawnJvm( |
| args, |
| ); |
| } |
| |
| late final _SpawnJvmPtr = _lookup< |
| ffi.NativeFunction< |
| ffi.Pointer<JniEnv> Function( |
| ffi.Pointer<JavaVMInitArgs>)>>('SpawnJvm'); |
| late final _SpawnJvm = _SpawnJvmPtr.asFunction< |
| ffi.Pointer<JniEnv> Function(ffi.Pointer<JavaVMInitArgs>)>(); |
| |
| JClass LoadClass( |
| ffi.Pointer<ffi.Char> name, |
| ) { |
| return _LoadClass( |
| name, |
| ); |
| } |
| |
| late final _LoadClassPtr = |
| _lookup<ffi.NativeFunction<JClass Function(ffi.Pointer<ffi.Char>)>>( |
| 'LoadClass'); |
| late final _LoadClass = |
| _LoadClassPtr.asFunction<JClass Function(ffi.Pointer<ffi.Char>)>(); |
| |
| JObject GetClassLoader() { |
| return _GetClassLoader(); |
| } |
| |
| late final _GetClassLoaderPtr = |
| _lookup<ffi.NativeFunction<JObject Function()>>('GetClassLoader'); |
| late final _GetClassLoader = |
| _GetClassLoaderPtr.asFunction<JObject Function()>(); |
| |
| JObject GetApplicationContext() { |
| return _GetApplicationContext(); |
| } |
| |
| late final _GetApplicationContextPtr = |
| _lookup<ffi.NativeFunction<JObject Function()>>('GetApplicationContext'); |
| late final _GetApplicationContext = |
| _GetApplicationContextPtr.asFunction<JObject Function()>(); |
| |
| JObject GetCurrentActivity() { |
| return _GetCurrentActivity(); |
| } |
| |
| late final _GetCurrentActivityPtr = |
| _lookup<ffi.NativeFunction<JObject Function()>>('GetCurrentActivity'); |
| late final _GetCurrentActivity = |
| _GetCurrentActivityPtr.asFunction<JObject Function()>(); |
| |
| ffi.Pointer<GlobalJniEnv> GetGlobalEnv() { |
| return _GetGlobalEnv(); |
| } |
| |
| late final _GetGlobalEnvPtr = |
| _lookup<ffi.NativeFunction<ffi.Pointer<GlobalJniEnv> Function()>>( |
| 'GetGlobalEnv'); |
| late final _GetGlobalEnv = |
| _GetGlobalEnvPtr.asFunction<ffi.Pointer<GlobalJniEnv> Function()>(); |
| } |
| |
| class jfieldID_ extends ffi.Opaque {} |
| |
| class jmethodID_ extends ffi.Opaque {} |
| |
| class JValue extends ffi.Union { |
| @JBoolean() |
| external int z; |
| |
| @JByte() |
| external int b; |
| |
| @JChar() |
| external int c; |
| |
| @JShort() |
| external int s; |
| |
| @JInt() |
| external int i; |
| |
| @JLong() |
| external int j; |
| |
| @JFloat() |
| external double f; |
| |
| @JDouble() |
| external double d; |
| |
| external JObject l; |
| } |
| |
| /// Primitive types that match up with Java equivalents. |
| typedef JBoolean = ffi.Uint8; |
| typedef JByte = ffi.Int8; |
| typedef JChar = ffi.Uint16; |
| typedef JShort = ffi.Int16; |
| typedef JInt = ffi.Int32; |
| typedef JLong = ffi.Int64; |
| typedef JFloat = ffi.Float; |
| typedef JDouble = ffi.Double; |
| |
| /// Reference types, in C. |
| typedef JObject = ffi.Pointer<ffi.Void>; |
| |
| abstract class jobjectRefType { |
| static const int JNIInvalidRefType = 0; |
| static const int JNILocalRefType = 1; |
| static const int JNIGlobalRefType = 2; |
| static const int JNIWeakGlobalRefType = 3; |
| } |
| |
| class JNINativeMethod extends ffi.Struct { |
| external ffi.Pointer<ffi.Char> name; |
| |
| external ffi.Pointer<ffi.Char> signature; |
| |
| external ffi.Pointer<ffi.Void> fnPtr; |
| } |
| |
| /// C++ version. |
| class _JavaVM extends ffi.Struct { |
| external ffi.Pointer<JNIInvokeInterface> functions; |
| } |
| |
| /// JNI invocation interface. |
| 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<JInt Function(ffi.Pointer<JavaVM>)>> |
| DestroyJavaVM; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JavaVM>, ffi.Pointer<ffi.Pointer<JniEnv>>, |
| ffi.Pointer<ffi.Void>)>> AttachCurrentThread; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(ffi.Pointer<JavaVM>)>> |
| DetachCurrentThread; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JavaVM>, ffi.Pointer<ffi.Pointer<ffi.Void>>, |
| JInt)>> GetEnv; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JavaVM>, ffi.Pointer<ffi.Pointer<JniEnv>>, |
| ffi.Pointer<ffi.Void>)>> AttachCurrentThreadAsDaemon; |
| } |
| |
| extension JNIInvokeInterfaceExtension on ffi.Pointer<JavaVM> { |
| int DestroyJavaVM() { |
| return value.ref.DestroyJavaVM |
| .asFunction<int Function(ffi.Pointer<JavaVM>)>()(this); |
| } |
| |
| int AttachCurrentThread( |
| ffi.Pointer<ffi.Pointer<JniEnv>> p_env, ffi.Pointer<ffi.Void> thr_args) { |
| return value.ref.AttachCurrentThread.asFunction< |
| int Function(ffi.Pointer<JavaVM>, ffi.Pointer<ffi.Pointer<JniEnv>>, |
| ffi.Pointer<ffi.Void>)>()(this, p_env, thr_args); |
| } |
| |
| int DetachCurrentThread() { |
| return value.ref.DetachCurrentThread |
| .asFunction<int Function(ffi.Pointer<JavaVM>)>()(this); |
| } |
| |
| int GetEnv(ffi.Pointer<ffi.Pointer<ffi.Void>> p_env, int version) { |
| return value.ref.GetEnv.asFunction< |
| int Function(ffi.Pointer<JavaVM>, ffi.Pointer<ffi.Pointer<ffi.Void>>, |
| int)>()(this, p_env, version); |
| } |
| |
| int AttachCurrentThreadAsDaemon( |
| ffi.Pointer<ffi.Pointer<JniEnv>> p_env, ffi.Pointer<ffi.Void> thr_args) { |
| return value.ref.AttachCurrentThreadAsDaemon.asFunction< |
| int Function(ffi.Pointer<JavaVM>, ffi.Pointer<ffi.Pointer<JniEnv>>, |
| ffi.Pointer<ffi.Void>)>()(this, p_env, thr_args); |
| } |
| } |
| |
| typedef JavaVM = ffi.Pointer<JNIInvokeInterface>; |
| typedef JniEnv = ffi.Pointer<JNINativeInterface>; |
| |
| /// Table of interface function pointers. |
| 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<JInt Function(ffi.Pointer<JniEnv1>)>> |
| GetVersion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JClass Function(ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>, JObject, |
| ffi.Pointer<JByte>, JSize)>> DefineClass; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JClass Function(ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>)>> |
| FindClass; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JMethodID Function(ffi.Pointer<JniEnv1>, JObject)>> |
| FromReflectedMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JFieldID Function(ffi.Pointer<JniEnv1>, JObject)>> |
| FromReflectedField; |
| |
| /// spec doesn't show jboolean parameter |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function( |
| ffi.Pointer<JniEnv1>, JClass, JMethodID, JBoolean)>> |
| ToReflectedMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JClass Function(ffi.Pointer<JniEnv1>, JClass)>> |
| GetSuperclass; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JClass, JClass)>> |
| IsAssignableFrom; |
| |
| /// spec doesn't show jboolean parameter |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function( |
| ffi.Pointer<JniEnv1>, JClass, JFieldID, JBoolean)>> |
| ToReflectedField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<JniEnv1>, JThrowable)>> |
| Throw; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function( |
| ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>)>> ThrowNew; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JThrowable Function(ffi.Pointer<JniEnv1>)>> |
| ExceptionOccurred; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1>)>> |
| ExceptionDescribe; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1>)>> |
| ExceptionClear; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>)>> |
| FatalError; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<JniEnv1>, JInt)>> |
| PushLocalFrame; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(ffi.Pointer<JniEnv1>, JObject)>> |
| PopLocalFrame; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(ffi.Pointer<JniEnv1>, JObject)>> |
| NewGlobalRef; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1>, JObject)>> |
| DeleteGlobalRef; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1>, JObject)>> |
| DeleteLocalRef; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JObject)>> |
| IsSameObject; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(ffi.Pointer<JniEnv1>, JObject)>> |
| NewLocalRef; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<JniEnv1>, JInt)>> |
| EnsureLocalCapacity; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(ffi.Pointer<JniEnv1>, JClass)>> |
| AllocObject; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> NewObject; |
| |
| external ffi.Pointer<ffi.Void> _NewObjectV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> NewObjectA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JClass Function(ffi.Pointer<JniEnv1>, JObject)>> |
| GetObjectClass; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JClass)>> |
| IsInstanceOf; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JMethodID Function(ffi.Pointer<JniEnv1>, JClass, |
| ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> GetMethodID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallObjectMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallObjectMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallObjectMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallBooleanMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallBooleanMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallBooleanMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallByteMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallByteMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallByteMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallCharMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallCharMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallCharMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallShortMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallShortMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallShortMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallIntMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallIntMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallIntMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallLongMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallLongMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallLongMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallFloatMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallFloatMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallFloatMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallDoubleMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallDoubleMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallDoubleMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JObject, JMethodID)>> |
| CallVoidMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallVoidMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JObject, JMethodID, |
| ffi.Pointer<JValue>)>> CallVoidMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function( |
| ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualObjectMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualObjectMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualObjectMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function( |
| ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualBooleanMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualBooleanMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualBooleanMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualByteMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualByteMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualByteMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualCharMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualCharMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualCharMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function( |
| ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualShortMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualShortMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualShortMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualIntMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualIntMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualIntMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualLongMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualLongMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualLongMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function( |
| ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualFloatMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualFloatMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualFloatMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function( |
| ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualDoubleMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualDoubleMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualDoubleMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>> |
| CallNonvirtualVoidMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallNonvirtualVoidMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallNonvirtualVoidMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFieldID Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>> GetFieldID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetObjectField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetBooleanField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetByteField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetCharField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetShortField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> GetIntField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetLongField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetFloatField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JObject, JFieldID)>> |
| GetDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JObject)>> |
| SetObjectField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JBoolean)>> |
| SetBooleanField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JByte)>> SetByteField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JChar)>> SetCharField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JShort)>> SetShortField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, JInt)>> |
| SetIntField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JLong)>> SetLongField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JFloat)>> SetFloatField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObject, JFieldID, JDouble)>> |
| SetDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JMethodID Function(ffi.Pointer<JniEnv1>, JClass, |
| ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> GetStaticMethodID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticObjectMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticObjectMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticObjectMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticBooleanMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticBooleanMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticBooleanMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticByteMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticByteMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticByteMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticCharMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticCharMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticCharMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticShortMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticShortMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticShortMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticIntMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticIntMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticIntMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticLongMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticLongMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticLongMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticFloatMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticFloatMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticFloatMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticDoubleMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticDoubleMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticDoubleMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JMethodID)>> |
| CallStaticVoidMethod; |
| |
| external ffi.Pointer<ffi.Void> _CallStaticVoidMethodV; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, |
| ffi.Pointer<JValue>)>> CallStaticVoidMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFieldID Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>> GetStaticFieldID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticObjectField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticBooleanField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticByteField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticCharField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticShortField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticIntField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticLongField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticFloatField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>> |
| GetStaticDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JClass, JFieldID, JObject)>> |
| SetStaticObjectField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JClass, JFieldID, JBoolean)>> |
| SetStaticBooleanField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, JByte)>> |
| SetStaticByteField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, JChar)>> |
| SetStaticCharField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JClass, JFieldID, JShort)>> |
| SetStaticShortField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, JInt)>> |
| SetStaticIntField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, JLong)>> |
| SetStaticLongField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JClass, JFieldID, JFloat)>> |
| SetStaticFloatField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JClass, JFieldID, JDouble)>> |
| SetStaticDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JString Function( |
| ffi.Pointer<JniEnv1>, ffi.Pointer<JChar>, JSize)>> NewString; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JSize Function(ffi.Pointer<JniEnv1>, JString)>> |
| GetStringLength; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JChar> Function( |
| ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JBoolean>)>> |
| GetStringChars; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JChar>)>> |
| ReleaseStringChars; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JString Function(ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>)>> |
| NewStringUTF; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JSize Function(ffi.Pointer<JniEnv1>, JString)>> |
| GetStringUTFLength; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<ffi.Char> Function( |
| ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JBoolean>)>> |
| GetStringUTFChars; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JString, ffi.Pointer<ffi.Char>)>> |
| ReleaseStringUTFChars; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JSize Function(ffi.Pointer<JniEnv1>, JArray)>> |
| GetArrayLength; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObjectArray Function( |
| ffi.Pointer<JniEnv1>, JSize, JClass, JObject)>> NewObjectArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(ffi.Pointer<JniEnv1>, JObjectArray, JSize)>> |
| GetObjectArrayElement; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JObjectArray, JSize, JObject)>> |
| SetObjectArrayElement; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBooleanArray Function(ffi.Pointer<JniEnv1>, JSize)>> NewBooleanArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JByteArray Function(ffi.Pointer<JniEnv1>, JSize)>> |
| NewByteArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JCharArray Function(ffi.Pointer<JniEnv1>, JSize)>> |
| NewCharArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JShortArray Function(ffi.Pointer<JniEnv1>, JSize)>> |
| NewShortArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JIntArray Function(ffi.Pointer<JniEnv1>, JSize)>> |
| NewIntArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JLongArray Function(ffi.Pointer<JniEnv1>, JSize)>> |
| NewLongArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JFloatArray Function(ffi.Pointer<JniEnv1>, JSize)>> |
| NewFloatArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDoubleArray Function(ffi.Pointer<JniEnv1>, JSize)>> NewDoubleArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JBoolean> Function( |
| ffi.Pointer<JniEnv1>, JBooleanArray, ffi.Pointer<JBoolean>)>> |
| GetBooleanArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JByte> Function( |
| ffi.Pointer<JniEnv1>, JByteArray, ffi.Pointer<JBoolean>)>> |
| GetByteArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JChar> Function( |
| ffi.Pointer<JniEnv1>, JCharArray, ffi.Pointer<JBoolean>)>> |
| GetCharArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JShort> Function( |
| ffi.Pointer<JniEnv1>, JShortArray, ffi.Pointer<JBoolean>)>> |
| GetShortArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JInt> Function( |
| ffi.Pointer<JniEnv1>, JIntArray, ffi.Pointer<JBoolean>)>> |
| GetIntArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JLong> Function( |
| ffi.Pointer<JniEnv1>, JLongArray, ffi.Pointer<JBoolean>)>> |
| GetLongArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JFloat> Function( |
| ffi.Pointer<JniEnv1>, JFloatArray, ffi.Pointer<JBoolean>)>> |
| GetFloatArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JDouble> Function( |
| ffi.Pointer<JniEnv1>, JDoubleArray, ffi.Pointer<JBoolean>)>> |
| GetDoubleArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JBooleanArray, |
| ffi.Pointer<JBoolean>, JInt)>> ReleaseBooleanArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JByteArray, ffi.Pointer<JByte>, JInt)>> |
| ReleaseByteArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JCharArray, ffi.Pointer<JChar>, JInt)>> |
| ReleaseCharArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JShortArray, |
| ffi.Pointer<JShort>, JInt)>> ReleaseShortArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JIntArray, ffi.Pointer<JInt>, JInt)>> |
| ReleaseIntArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JLongArray, ffi.Pointer<JLong>, JInt)>> |
| ReleaseLongArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JFloatArray, |
| ffi.Pointer<JFloat>, JInt)>> ReleaseFloatArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JDoubleArray, |
| ffi.Pointer<JDouble>, JInt)>> ReleaseDoubleArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JBooleanArray, JSize, JSize, |
| ffi.Pointer<JBoolean>)>> GetBooleanArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JByteArray, JSize, JSize, |
| ffi.Pointer<JByte>)>> GetByteArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JCharArray, JSize, JSize, |
| ffi.Pointer<JChar>)>> GetCharArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JShortArray, JSize, JSize, |
| ffi.Pointer<JShort>)>> GetShortArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JIntArray, JSize, JSize, |
| ffi.Pointer<JInt>)>> GetIntArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JLongArray, JSize, JSize, |
| ffi.Pointer<JLong>)>> GetLongArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JFloatArray, JSize, JSize, |
| ffi.Pointer<JFloat>)>> GetFloatArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JDoubleArray, JSize, JSize, |
| ffi.Pointer<JDouble>)>> GetDoubleArrayRegion; |
| |
| /// spec shows these without const; some jni.h do, some don't |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JBooleanArray, JSize, JSize, |
| ffi.Pointer<JBoolean>)>> SetBooleanArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JByteArray, JSize, JSize, |
| ffi.Pointer<JByte>)>> SetByteArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JCharArray, JSize, JSize, |
| ffi.Pointer<JChar>)>> SetCharArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JShortArray, JSize, JSize, |
| ffi.Pointer<JShort>)>> SetShortArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JIntArray, JSize, JSize, |
| ffi.Pointer<JInt>)>> SetIntArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JLongArray, JSize, JSize, |
| ffi.Pointer<JLong>)>> SetLongArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JFloatArray, JSize, JSize, |
| ffi.Pointer<JFloat>)>> SetFloatArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JDoubleArray, JSize, JSize, |
| ffi.Pointer<JDouble>)>> SetDoubleArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(ffi.Pointer<JniEnv1>, JClass, |
| ffi.Pointer<JNINativeMethod>, JInt)>> RegisterNatives; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<JniEnv1>, JClass)>> |
| UnregisterNatives; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<JniEnv1>, JObject)>> |
| MonitorEnter; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<JniEnv1>, JObject)>> |
| MonitorExit; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function( |
| ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Pointer<JavaVM>>)>> |
| GetJavaVM; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JString, JSize, JSize, |
| ffi.Pointer<JChar>)>> GetStringRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(ffi.Pointer<JniEnv1>, JString, JSize, JSize, |
| ffi.Pointer<ffi.Char>)>> GetStringUTFRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<ffi.Void> Function( |
| ffi.Pointer<JniEnv1>, JArray, ffi.Pointer<JBoolean>)>> |
| GetPrimitiveArrayCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JArray, ffi.Pointer<ffi.Void>, JInt)>> |
| ReleasePrimitiveArrayCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JChar> Function( |
| ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JBoolean>)>> |
| GetStringCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JChar>)>> |
| ReleaseStringCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JWeak Function(ffi.Pointer<JniEnv1>, JObject)>> |
| NewWeakGlobalRef; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(ffi.Pointer<JniEnv1>, JWeak)>> |
| DeleteWeakGlobalRef; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<JBoolean Function(ffi.Pointer<JniEnv1>)>> |
| ExceptionCheck; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function( |
| ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Void>, JLong)>> |
| NewDirectByteBuffer; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<ffi.Void> Function(ffi.Pointer<JniEnv1>, JObject)>> |
| GetDirectBufferAddress; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JLong Function(ffi.Pointer<JniEnv1>, JObject)>> |
| GetDirectBufferCapacity; |
| |
| /// added in JNI 1.6 |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Int32 Function(ffi.Pointer<JniEnv1>, JObject)>> |
| GetObjectRefType; |
| } |
| |
| typedef JniEnv1 = ffi.Pointer<JNINativeInterface>; |
| typedef JClass = JObject; |
| |
| /// "cardinal indices and sizes" |
| typedef JSize = JInt; |
| typedef JMethodID = ffi.Pointer<jmethodID_>; |
| typedef JFieldID = ffi.Pointer<jfieldID_>; |
| typedef JThrowable = JObject; |
| typedef JString = JObject; |
| typedef JArray = JObject; |
| typedef JObjectArray = JArray; |
| typedef JBooleanArray = JArray; |
| typedef JByteArray = JArray; |
| typedef JCharArray = JArray; |
| typedef JShortArray = JArray; |
| typedef JIntArray = JArray; |
| typedef JLongArray = JArray; |
| typedef JFloatArray = JArray; |
| typedef JDoubleArray = JArray; |
| typedef JWeak = JObject; |
| |
| class JavaVMAttachArgs extends ffi.Struct { |
| /// must be >= JNI_VERSION_1_2 |
| @JInt() |
| external int version; |
| |
| /// NULL or name of thread as modified UTF-8 str |
| external ffi.Pointer<ffi.Char> name; |
| |
| /// global ref of a ThreadGroup object, or NULL |
| external JObject group; |
| } |
| |
| /// JNI 1.2+ initialization. (As of 1.6, the pre-1.2 structures are no |
| /// longer supported.) |
| class JavaVMOption extends ffi.Struct { |
| external ffi.Pointer<ffi.Char> optionString; |
| |
| external ffi.Pointer<ffi.Void> extraInfo; |
| } |
| |
| class JavaVMInitArgs extends ffi.Struct { |
| /// use JNI_VERSION_1_2 or later |
| @JInt() |
| external int version; |
| |
| @JInt() |
| external int nOptions; |
| |
| external ffi.Pointer<JavaVMOption> options; |
| |
| @JBoolean() |
| external int ignoreUnrecognized; |
| } |
| |
| /// Types used by JNI API to distinguish between primitive types. |
| abstract class JniType { |
| static const int booleanType = 0; |
| static const int byteType = 1; |
| static const int shortType = 2; |
| static const int charType = 3; |
| static const int intType = 4; |
| static const int longType = 5; |
| static const int floatType = 6; |
| static const int doubleType = 7; |
| static const int objectType = 8; |
| static const int voidType = 9; |
| } |
| |
| /// Result type for use by JNI. |
| /// |
| /// If [exception] is null, it means the result is valid. |
| /// It's assumed that the caller knows the expected type in [result]. |
| class JniResult extends ffi.Struct { |
| external JValue result; |
| |
| external JThrowable exception; |
| } |
| |
| /// Similar to [JniResult] but for class lookups. |
| class JniClassLookupResult extends ffi.Struct { |
| external JClass classRef; |
| |
| external JThrowable exception; |
| } |
| |
| /// Similar to [JniResult] but for method/field ID lookups. |
| class JniPointerResult extends ffi.Struct { |
| external ffi.Pointer<ffi.Void> id; |
| |
| external JThrowable exception; |
| } |
| |
| /// JniExceptionDetails holds 2 jstring objects, one is the result of |
| /// calling `toString` on exception object, other is stack trace; |
| class JniExceptionDetails extends ffi.Struct { |
| external JString message; |
| |
| external JString stacktrace; |
| } |
| |
| /// This struct contains functions which wrap method call / field access conveniently along with |
| /// exception checking. |
| /// |
| /// Flutter embedding checks for pending JNI exceptions before an FFI transition, which requires us |
| /// to check for and clear the exception before returning to dart code, which requires these functions |
| /// to return result types. |
| class JniAccessors extends ffi.Struct { |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniClassLookupResult Function(ffi.Pointer<ffi.Char>)>> getClass; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniPointerResult Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| getFieldID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniPointerResult Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| getStaticFieldID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniPointerResult Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| getMethodID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniPointerResult Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| getStaticMethodID; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniResult Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| newObject; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniResult Function( |
| JObject, JMethodID, ffi.Int, ffi.Pointer<JValue>)>> callMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JniResult Function( |
| JClass, JMethodID, ffi.Int, ffi.Pointer<JValue>)>> |
| callStaticMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JniResult Function(JObject, JFieldID, ffi.Int)>> |
| getField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JniResult Function(JClass, JFieldID, ffi.Int)>> |
| getStaticField; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<JniExceptionDetails Function(JThrowable)>> |
| getExceptionDetails; |
| } |
| |
| extension JniAccessorsExtension on ffi.Pointer<JniAccessors> { |
| JniClassLookupResult getClass(ffi.Pointer<ffi.Char> internalName) { |
| return ref.getClass |
| .asFunction<JniClassLookupResult Function(ffi.Pointer<ffi.Char>)>()( |
| internalName); |
| } |
| |
| JniPointerResult getFieldID(JClass cls, ffi.Pointer<ffi.Char> fieldName, |
| ffi.Pointer<ffi.Char> signature) { |
| return ref.getFieldID.asFunction< |
| JniPointerResult Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(cls, fieldName, signature); |
| } |
| |
| JniPointerResult getStaticFieldID(JClass cls, ffi.Pointer<ffi.Char> fieldName, |
| ffi.Pointer<ffi.Char> signature) { |
| return ref.getStaticFieldID.asFunction< |
| JniPointerResult Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(cls, fieldName, signature); |
| } |
| |
| JniPointerResult getMethodID(JClass cls, ffi.Pointer<ffi.Char> methodName, |
| ffi.Pointer<ffi.Char> signature) { |
| return ref.getMethodID.asFunction< |
| JniPointerResult Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(cls, methodName, signature); |
| } |
| |
| JniPointerResult getStaticMethodID(JClass cls, |
| ffi.Pointer<ffi.Char> methodName, ffi.Pointer<ffi.Char> signature) { |
| return ref.getStaticMethodID.asFunction< |
| JniPointerResult Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(cls, methodName, signature); |
| } |
| |
| JniResult newObject(JClass cls, JMethodID ctor, ffi.Pointer<JValue> args) { |
| return ref.newObject.asFunction< |
| JniResult Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(cls, ctor, args); |
| } |
| |
| JniResult callMethod( |
| JObject obj, JMethodID methodID, int callType, ffi.Pointer<JValue> args) { |
| return ref.callMethod.asFunction< |
| JniResult Function(JObject, JMethodID, int, ffi.Pointer<JValue>)>()( |
| obj, methodID, callType, args); |
| } |
| |
| JniResult callStaticMethod( |
| JClass cls, JMethodID methodID, int callType, ffi.Pointer<JValue> args) { |
| return ref.callStaticMethod.asFunction< |
| JniResult Function(JClass, JMethodID, int, ffi.Pointer<JValue>)>()( |
| cls, methodID, callType, args); |
| } |
| |
| JniResult getField(JObject obj, JFieldID fieldID, int callType) { |
| return ref.getField |
| .asFunction<JniResult Function(JObject, JFieldID, int)>()( |
| obj, fieldID, callType); |
| } |
| |
| JniResult getStaticField(JClass cls, JFieldID fieldID, int callType) { |
| return ref.getStaticField |
| .asFunction<JniResult Function(JClass, JFieldID, int)>()( |
| cls, fieldID, callType); |
| } |
| |
| JniExceptionDetails getExceptionDetails(JThrowable exception) { |
| return ref.getExceptionDetails |
| .asFunction<JniExceptionDetails Function(JThrowable)>()(exception); |
| } |
| } |
| |
| /// Wrapper over JNIEnv in the JNI API, which can be used from multiple Dart |
| /// Threads. |
| /// |
| /// It consists of wrappers to JNIEnv methods which manage the thread-local |
| /// JNIEnv pointer in C code. Additionally, any returned local reference value |
| /// is converted to global reference. |
| /// |
| /// For the documentation on methods themselves, see the JNI Specification at |
| /// https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html |
| /// |
| /// Apart from the specification, the Android NDK's JNI page consists of useful |
| /// information about using the JNI: |
| /// https://developer.android.com/training/articles/perf-jni |
| class GlobalJniEnv extends ffi.Struct { |
| external ffi.Pointer<ffi.NativeFunction<JInt Function()>> GetVersion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JClass Function( |
| ffi.Pointer<ffi.Char>, JObject, ffi.Pointer<JByte>, JSize)>> |
| DefineClass; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<JClass Function(ffi.Pointer<ffi.Char>)>> |
| FindClass; |
| |
| external ffi.Pointer<ffi.NativeFunction<JMethodID Function(JObject)>> |
| FromReflectedMethod; |
| |
| external ffi.Pointer<ffi.NativeFunction<JFieldID Function(JObject)>> |
| FromReflectedField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(JClass, JMethodID, JBoolean)>> |
| ToReflectedMethod; |
| |
| external ffi.Pointer<ffi.NativeFunction<JClass Function(JClass)>> |
| GetSuperclass; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function(JClass, JClass)>> |
| IsAssignableFrom; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(JClass, JFieldID, JBoolean)>> |
| ToReflectedField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JThrowable)>> Throw; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(JClass, ffi.Pointer<ffi.Char>)>> |
| ThrowNew; |
| |
| external ffi.Pointer<ffi.NativeFunction<JThrowable Function()>> |
| ExceptionOccurred; |
| |
| external ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> |
| ExceptionDescribe; |
| |
| external ffi.Pointer<ffi.NativeFunction<ffi.Void Function()>> ExceptionClear; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Char>)>> |
| FatalError; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JInt)>> PushLocalFrame; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JObject)>> |
| PopLocalFrame; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JObject)>> |
| NewGlobalRef; |
| |
| external ffi.Pointer<ffi.NativeFunction<ffi.Void Function(JObject)>> |
| DeleteGlobalRef; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function(JObject, JObject)>> |
| IsSameObject; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JInt)>> |
| EnsureLocalCapacity; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JClass)>> |
| AllocObject; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JClass, JMethodID)>> |
| NewObject; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(JClass, JMethodID, ffi.Pointer<JValue>)>> NewObjectA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JClass Function(JObject)>> |
| GetObjectClass; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function(JObject, JClass)>> |
| IsInstanceOf; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JMethodID Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| GetMethodID; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JObject, JMethodID)>> |
| CallObjectMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallObjectMethodA; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<JBoolean Function(JObject, JMethodID)>> |
| CallBooleanMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallBooleanMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JByte Function(JObject, JMethodID)>> |
| CallByteMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallByteMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JChar Function(JObject, JMethodID)>> |
| CallCharMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallCharMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JShort Function(JObject, JMethodID)>> |
| CallShortMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallShortMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JObject, JMethodID)>> |
| CallIntMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallIntMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JLong Function(JObject, JMethodID)>> |
| CallLongMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallLongMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JFloat Function(JObject, JMethodID)>> |
| CallFloatMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallFloatMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JDouble Function(JObject, JMethodID)>> |
| CallDoubleMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallDoubleMethodA; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<ffi.Void Function(JObject, JMethodID)>> |
| CallVoidMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JObject, JMethodID, ffi.Pointer<JValue>)>> |
| CallVoidMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualObjectMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function( |
| JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualObjectMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JBoolean Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualBooleanMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function( |
| JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualBooleanMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JByte Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualByteMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualByteMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JChar Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualCharMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualCharMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JShort Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualShortMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualShortMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualIntMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualIntMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JLong Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualLongMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualLongMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JFloat Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualFloatMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualFloatMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JDouble Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualDoubleMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function( |
| JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualDoubleMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JClass, JMethodID)>> |
| CallNonvirtualVoidMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JObject, JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallNonvirtualVoidMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFieldID Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| GetFieldID; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JObject, JFieldID)>> |
| GetObjectField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function(JObject, JFieldID)>> |
| GetBooleanField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JByte Function(JObject, JFieldID)>> |
| GetByteField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JChar Function(JObject, JFieldID)>> |
| GetCharField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JShort Function(JObject, JFieldID)>> |
| GetShortField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JObject, JFieldID)>> |
| GetIntField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JLong Function(JObject, JFieldID)>> |
| GetLongField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JFloat Function(JObject, JFieldID)>> |
| GetFloatField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JDouble Function(JObject, JFieldID)>> |
| GetDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JObject)>> |
| SetObjectField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JBoolean)>> |
| SetBooleanField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JByte)>> |
| SetByteField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JChar)>> |
| SetCharField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JShort)>> |
| SetShortField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JInt)>> |
| SetIntField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JLong)>> |
| SetLongField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JFloat)>> |
| SetFloatField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObject, JFieldID, JDouble)>> |
| SetDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JMethodID Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| GetStaticMethodID; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JClass, JMethodID)>> |
| CallStaticObjectMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JObject Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticObjectMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function(JClass, JMethodID)>> |
| CallStaticBooleanMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JBoolean Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticBooleanMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JByte Function(JClass, JMethodID)>> |
| CallStaticByteMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JByte Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticByteMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JChar Function(JClass, JMethodID)>> |
| CallStaticCharMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JChar Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticCharMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JShort Function(JClass, JMethodID)>> |
| CallStaticShortMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JShort Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticShortMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JClass, JMethodID)>> |
| CallStaticIntMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticIntMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JLong Function(JClass, JMethodID)>> |
| CallStaticLongMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JLong Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticLongMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JFloat Function(JClass, JMethodID)>> |
| CallStaticFloatMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFloat Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticFloatMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<JDouble Function(JClass, JMethodID)>> |
| CallStaticDoubleMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JDouble Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticDoubleMethodA; |
| |
| external ffi.Pointer<ffi.NativeFunction<ffi.Void Function(JClass, JMethodID)>> |
| CallStaticVoidMethod; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JClass, JMethodID, ffi.Pointer<JValue>)>> |
| CallStaticVoidMethodA; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JFieldID Function( |
| JClass, ffi.Pointer<ffi.Char>, ffi.Pointer<ffi.Char>)>> |
| GetStaticFieldID; |
| |
| external ffi.Pointer<ffi.NativeFunction<JObject Function(JClass, JFieldID)>> |
| GetStaticObjectField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function(JClass, JFieldID)>> |
| GetStaticBooleanField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JByte Function(JClass, JFieldID)>> |
| GetStaticByteField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JChar Function(JClass, JFieldID)>> |
| GetStaticCharField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JShort Function(JClass, JFieldID)>> |
| GetStaticShortField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JClass, JFieldID)>> |
| GetStaticIntField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JLong Function(JClass, JFieldID)>> |
| GetStaticLongField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JFloat Function(JClass, JFieldID)>> |
| GetStaticFloatField; |
| |
| external ffi.Pointer<ffi.NativeFunction<JDouble Function(JClass, JFieldID)>> |
| GetStaticDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JObject)>> |
| SetStaticObjectField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JBoolean)>> |
| SetStaticBooleanField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JByte)>> |
| SetStaticByteField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JChar)>> |
| SetStaticCharField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JShort)>> |
| SetStaticShortField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JInt)>> |
| SetStaticIntField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JLong)>> |
| SetStaticLongField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JFloat)>> |
| SetStaticFloatField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JClass, JFieldID, JDouble)>> |
| SetStaticDoubleField; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JString Function(ffi.Pointer<JChar>, JSize)>> |
| NewString; |
| |
| external ffi.Pointer<ffi.NativeFunction<JSize Function(JString)>> |
| GetStringLength; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JChar> Function(JString, ffi.Pointer<JBoolean>)>> |
| GetStringChars; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JString, ffi.Pointer<JChar>)>> |
| ReleaseStringChars; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<JString Function(ffi.Pointer<ffi.Char>)>> |
| NewStringUTF; |
| |
| external ffi.Pointer<ffi.NativeFunction<JSize Function(JString)>> |
| GetStringUTFLength; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<ffi.Char> Function(JString, ffi.Pointer<JBoolean>)>> |
| GetStringUTFChars; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JString, ffi.Pointer<ffi.Char>)>> |
| ReleaseStringUTFChars; |
| |
| external ffi.Pointer<ffi.NativeFunction<JSize Function(JArray)>> |
| GetArrayLength; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObjectArray Function(JSize, JClass, JObject)>> |
| NewObjectArray; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<JObject Function(JObjectArray, JSize)>> |
| GetObjectArrayElement; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JObjectArray, JSize, JObject)>> |
| SetObjectArrayElement; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBooleanArray Function(JSize)>> |
| NewBooleanArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JByteArray Function(JSize)>> |
| NewByteArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JCharArray Function(JSize)>> |
| NewCharArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JShortArray Function(JSize)>> |
| NewShortArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JIntArray Function(JSize)>> |
| NewIntArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JLongArray Function(JSize)>> |
| NewLongArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JFloatArray Function(JSize)>> |
| NewFloatArray; |
| |
| external ffi.Pointer<ffi.NativeFunction<JDoubleArray Function(JSize)>> |
| NewDoubleArray; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JBoolean> Function( |
| JBooleanArray, ffi.Pointer<JBoolean>)>> GetBooleanArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JByte> Function(JByteArray, ffi.Pointer<JBoolean>)>> |
| GetByteArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JChar> Function(JCharArray, ffi.Pointer<JBoolean>)>> |
| GetCharArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JShort> Function(JShortArray, ffi.Pointer<JBoolean>)>> |
| GetShortArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JInt> Function(JIntArray, ffi.Pointer<JBoolean>)>> |
| GetIntArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JLong> Function(JLongArray, ffi.Pointer<JBoolean>)>> |
| GetLongArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JFloat> Function(JFloatArray, ffi.Pointer<JBoolean>)>> |
| GetFloatArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JDouble> Function( |
| JDoubleArray, ffi.Pointer<JBoolean>)>> GetDoubleArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JBooleanArray, ffi.Pointer<JBoolean>, JInt)>> |
| ReleaseBooleanArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JByteArray, ffi.Pointer<JByte>, JInt)>> |
| ReleaseByteArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JCharArray, ffi.Pointer<JChar>, JInt)>> |
| ReleaseCharArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JShortArray, ffi.Pointer<JShort>, JInt)>> |
| ReleaseShortArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JIntArray, ffi.Pointer<JInt>, JInt)>> |
| ReleaseIntArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JLongArray, ffi.Pointer<JLong>, JInt)>> |
| ReleaseLongArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JFloatArray, ffi.Pointer<JFloat>, JInt)>> |
| ReleaseFloatArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JDoubleArray, ffi.Pointer<JDouble>, JInt)>> |
| ReleaseDoubleArrayElements; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JBooleanArray, JSize, JSize, ffi.Pointer<JBoolean>)>> |
| GetBooleanArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JByteArray, JSize, JSize, ffi.Pointer<JByte>)>> |
| GetByteArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JCharArray, JSize, JSize, ffi.Pointer<JChar>)>> |
| GetCharArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JShortArray, JSize, JSize, ffi.Pointer<JShort>)>> |
| GetShortArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JIntArray, JSize, JSize, ffi.Pointer<JInt>)>> |
| GetIntArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JLongArray, JSize, JSize, ffi.Pointer<JLong>)>> |
| GetLongArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JFloatArray, JSize, JSize, ffi.Pointer<JFloat>)>> |
| GetFloatArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JDoubleArray, JSize, JSize, ffi.Pointer<JDouble>)>> |
| GetDoubleArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JBooleanArray, JSize, JSize, ffi.Pointer<JBoolean>)>> |
| SetBooleanArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JByteArray, JSize, JSize, ffi.Pointer<JByte>)>> |
| SetByteArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JCharArray, JSize, JSize, ffi.Pointer<JChar>)>> |
| SetCharArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JShortArray, JSize, JSize, ffi.Pointer<JShort>)>> |
| SetShortArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JIntArray, JSize, JSize, ffi.Pointer<JInt>)>> |
| SetIntArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JLongArray, JSize, JSize, ffi.Pointer<JLong>)>> |
| SetLongArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JFloatArray, JSize, JSize, ffi.Pointer<JFloat>)>> |
| SetFloatArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function( |
| JDoubleArray, JSize, JSize, ffi.Pointer<JDouble>)>> |
| SetDoubleArrayRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| JInt Function(JClass, ffi.Pointer<JNINativeMethod>, JInt)>> |
| RegisterNatives; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JClass)>> |
| UnregisterNatives; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JObject)>> MonitorEnter; |
| |
| external ffi.Pointer<ffi.NativeFunction<JInt Function(JObject)>> MonitorExit; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JInt Function(ffi.Pointer<ffi.Pointer<JavaVM>>)>> |
| GetJavaVM; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JString, JSize, JSize, ffi.Pointer<JChar>)>> |
| GetStringRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JString, JSize, JSize, ffi.Pointer<ffi.Char>)>> |
| GetStringUTFRegion; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<ffi.Void> Function(JArray, ffi.Pointer<JBoolean>)>> |
| GetPrimitiveArrayCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Void Function(JArray, ffi.Pointer<ffi.Void>, JInt)>> |
| ReleasePrimitiveArrayCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction< |
| ffi.Pointer<JChar> Function(JString, ffi.Pointer<JBoolean>)>> |
| GetStringCritical; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<ffi.Void Function(JString, ffi.Pointer<JChar>)>> |
| ReleaseStringCritical; |
| |
| external ffi.Pointer<ffi.NativeFunction<JWeak Function(JObject)>> |
| NewWeakGlobalRef; |
| |
| external ffi.Pointer<ffi.NativeFunction<ffi.Void Function(JWeak)>> |
| DeleteWeakGlobalRef; |
| |
| external ffi.Pointer<ffi.NativeFunction<JBoolean Function()>> ExceptionCheck; |
| |
| external ffi.Pointer< |
| ffi.NativeFunction<JObject Function(ffi.Pointer<ffi.Void>, JLong)>> |
| NewDirectByteBuffer; |
| |
| external ffi |
| .Pointer<ffi.NativeFunction<ffi.Pointer<ffi.Void> Function(JObject)>> |
| GetDirectBufferAddress; |
| |
| external ffi.Pointer<ffi.NativeFunction<JLong Function(JObject)>> |
| GetDirectBufferCapacity; |
| |
| external ffi.Pointer<ffi.NativeFunction<ffi.Int32 Function(JObject)>> |
| GetObjectRefType; |
| } |
| |
| extension GlobalJniEnvExtension on ffi.Pointer<GlobalJniEnv> { |
| int GetVersion() { |
| return ref.GetVersion.asFunction<int Function()>()(); |
| } |
| |
| JClass DefineClass(ffi.Pointer<ffi.Char> name, JObject loader, |
| ffi.Pointer<JByte> buf, int bufLen) { |
| return ref.DefineClass.asFunction< |
| JClass Function(ffi.Pointer<ffi.Char>, JObject, ffi.Pointer<JByte>, |
| int)>()(name, loader, buf, bufLen); |
| } |
| |
| JClass FindClass(ffi.Pointer<ffi.Char> name) { |
| return ref.FindClass.asFunction<JClass Function(ffi.Pointer<ffi.Char>)>()( |
| name); |
| } |
| |
| JMethodID FromReflectedMethod(JObject method) { |
| return ref.FromReflectedMethod.asFunction<JMethodID Function(JObject)>()( |
| method); |
| } |
| |
| JFieldID FromReflectedField(JObject field) { |
| return ref.FromReflectedField.asFunction<JFieldID Function(JObject)>()( |
| field); |
| } |
| |
| JObject ToReflectedMethod(JClass cls, JMethodID methodId, int isStatic) { |
| return ref.ToReflectedMethod.asFunction< |
| JObject Function(JClass, JMethodID, int)>()(cls, methodId, isStatic); |
| } |
| |
| JClass GetSuperclass(JClass clazz) { |
| return ref.GetSuperclass.asFunction<JClass Function(JClass)>()(clazz); |
| } |
| |
| int IsAssignableFrom(JClass clazz1, JClass clazz2) { |
| return ref.IsAssignableFrom.asFunction<int Function(JClass, JClass)>()( |
| clazz1, clazz2); |
| } |
| |
| JObject ToReflectedField(JClass cls, JFieldID fieldID, int isStatic) { |
| return ref.ToReflectedField.asFunction< |
| JObject Function(JClass, JFieldID, int)>()(cls, fieldID, isStatic); |
| } |
| |
| int Throw(JThrowable obj) { |
| return ref.Throw.asFunction<int Function(JThrowable)>()(obj); |
| } |
| |
| int ThrowNew(JClass clazz, ffi.Pointer<ffi.Char> message) { |
| return ref.ThrowNew.asFunction< |
| int Function(JClass, ffi.Pointer<ffi.Char>)>()(clazz, message); |
| } |
| |
| JThrowable ExceptionOccurred() { |
| return ref.ExceptionOccurred.asFunction<JThrowable Function()>()(); |
| } |
| |
| void ExceptionDescribe() { |
| return ref.ExceptionDescribe.asFunction<void Function()>()(); |
| } |
| |
| void ExceptionClear() { |
| return ref.ExceptionClear.asFunction<void Function()>()(); |
| } |
| |
| void FatalError(ffi.Pointer<ffi.Char> msg) { |
| return ref.FatalError.asFunction<void Function(ffi.Pointer<ffi.Char>)>()( |
| msg); |
| } |
| |
| int PushLocalFrame(int capacity) { |
| return ref.PushLocalFrame.asFunction<int Function(int)>()(capacity); |
| } |
| |
| JObject PopLocalFrame(JObject result) { |
| return ref.PopLocalFrame.asFunction<JObject Function(JObject)>()(result); |
| } |
| |
| JObject NewGlobalRef(JObject obj) { |
| return ref.NewGlobalRef.asFunction<JObject Function(JObject)>()(obj); |
| } |
| |
| void DeleteGlobalRef(JObject globalRef) { |
| return ref.DeleteGlobalRef.asFunction<void Function(JObject)>()(globalRef); |
| } |
| |
| int IsSameObject(JObject ref1, JObject ref2) { |
| return ref.IsSameObject.asFunction<int Function(JObject, JObject)>()( |
| ref1, ref2); |
| } |
| |
| int EnsureLocalCapacity(int capacity) { |
| return ref.EnsureLocalCapacity.asFunction<int Function(int)>()(capacity); |
| } |
| |
| JObject AllocObject(JClass clazz) { |
| return ref.AllocObject.asFunction<JObject Function(JClass)>()(clazz); |
| } |
| |
| JObject NewObject(JClass arg1, JMethodID arg2) { |
| return ref.NewObject.asFunction<JObject Function(JClass, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| JObject NewObjectA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.NewObjectA.asFunction< |
| JObject Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| JClass GetObjectClass(JObject obj) { |
| return ref.GetObjectClass.asFunction<JClass Function(JObject)>()(obj); |
| } |
| |
| int IsInstanceOf(JObject obj, JClass clazz) { |
| return ref.IsInstanceOf.asFunction<int Function(JObject, JClass)>()( |
| obj, clazz); |
| } |
| |
| JMethodID GetMethodID( |
| JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) { |
| return ref.GetMethodID.asFunction< |
| JMethodID Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(clazz, name, sig); |
| } |
| |
| JObject CallObjectMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallObjectMethod.asFunction< |
| JObject Function(JObject, JMethodID)>()(arg1, arg2); |
| } |
| |
| JObject CallObjectMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallObjectMethodA.asFunction< |
| JObject Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| int CallBooleanMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallBooleanMethod.asFunction<int Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| int CallBooleanMethodA( |
| JObject obj, JMethodID methodId, ffi.Pointer<JValue> args) { |
| return ref.CallBooleanMethodA.asFunction< |
| int Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodId, args); |
| } |
| |
| int CallByteMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallByteMethod.asFunction<int Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| int CallByteMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallByteMethodA.asFunction< |
| int Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| int CallCharMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallCharMethod.asFunction<int Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| int CallCharMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallCharMethodA.asFunction< |
| int Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| int CallShortMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallShortMethod.asFunction<int Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| int CallShortMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallShortMethodA.asFunction< |
| int Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| int CallIntMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallIntMethod.asFunction<int Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| int CallIntMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallIntMethodA.asFunction< |
| int Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| int CallLongMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallLongMethod.asFunction<int Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| int CallLongMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallLongMethodA.asFunction< |
| int Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| double CallFloatMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallFloatMethod.asFunction< |
| double Function(JObject, JMethodID)>()(arg1, arg2); |
| } |
| |
| double CallFloatMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallFloatMethodA.asFunction< |
| double Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| double CallDoubleMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallDoubleMethod.asFunction< |
| double Function(JObject, JMethodID)>()(arg1, arg2); |
| } |
| |
| double CallDoubleMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallDoubleMethodA.asFunction< |
| double Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| void CallVoidMethod(JObject arg1, JMethodID arg2) { |
| return ref.CallVoidMethod.asFunction<void Function(JObject, JMethodID)>()( |
| arg1, arg2); |
| } |
| |
| void CallVoidMethodA( |
| JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallVoidMethodA.asFunction< |
| void Function( |
| JObject, JMethodID, ffi.Pointer<JValue>)>()(obj, methodID, args); |
| } |
| |
| JObject CallNonvirtualObjectMethod( |
| JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualObjectMethod.asFunction< |
| JObject Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| JObject CallNonvirtualObjectMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualObjectMethodA.asFunction< |
| JObject Function(JObject, JClass, JMethodID, |
| ffi.Pointer<JValue>)>()(obj, clazz, methodID, args); |
| } |
| |
| int CallNonvirtualBooleanMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualBooleanMethod.asFunction< |
| int Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| int CallNonvirtualBooleanMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualBooleanMethodA.asFunction< |
| int Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| int CallNonvirtualByteMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualByteMethod.asFunction< |
| int Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| int CallNonvirtualByteMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualByteMethodA.asFunction< |
| int Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| int CallNonvirtualCharMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualCharMethod.asFunction< |
| int Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| int CallNonvirtualCharMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualCharMethodA.asFunction< |
| int Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| int CallNonvirtualShortMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualShortMethod.asFunction< |
| int Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| int CallNonvirtualShortMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualShortMethodA.asFunction< |
| int Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| int CallNonvirtualIntMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualIntMethod.asFunction< |
| int Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| int CallNonvirtualIntMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualIntMethodA.asFunction< |
| int Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| int CallNonvirtualLongMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualLongMethod.asFunction< |
| int Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| int CallNonvirtualLongMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualLongMethodA.asFunction< |
| int Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| double CallNonvirtualFloatMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualFloatMethod.asFunction< |
| double Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| double CallNonvirtualFloatMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualFloatMethodA.asFunction< |
| double Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| double CallNonvirtualDoubleMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualDoubleMethod.asFunction< |
| double Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| double CallNonvirtualDoubleMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualDoubleMethodA.asFunction< |
| double Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| void CallNonvirtualVoidMethod(JObject arg1, JClass arg2, JMethodID arg3) { |
| return ref.CallNonvirtualVoidMethod.asFunction< |
| void Function(JObject, JClass, JMethodID)>()(arg1, arg2, arg3); |
| } |
| |
| void CallNonvirtualVoidMethodA( |
| JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallNonvirtualVoidMethodA.asFunction< |
| void Function(JObject, JClass, JMethodID, ffi.Pointer<JValue>)>()( |
| obj, clazz, methodID, args); |
| } |
| |
| JFieldID GetFieldID( |
| JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) { |
| return ref.GetFieldID.asFunction< |
| JFieldID Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(clazz, name, sig); |
| } |
| |
| JObject GetObjectField(JObject obj, JFieldID fieldID) { |
| return ref.GetObjectField.asFunction<JObject Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| int GetBooleanField(JObject obj, JFieldID fieldID) { |
| return ref.GetBooleanField.asFunction<int Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| int GetByteField(JObject obj, JFieldID fieldID) { |
| return ref.GetByteField.asFunction<int Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| int GetCharField(JObject obj, JFieldID fieldID) { |
| return ref.GetCharField.asFunction<int Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| int GetShortField(JObject obj, JFieldID fieldID) { |
| return ref.GetShortField.asFunction<int Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| int GetIntField(JObject obj, JFieldID fieldID) { |
| return ref.GetIntField.asFunction<int Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| int GetLongField(JObject obj, JFieldID fieldID) { |
| return ref.GetLongField.asFunction<int Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| double GetFloatField(JObject obj, JFieldID fieldID) { |
| return ref.GetFloatField.asFunction<double Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| double GetDoubleField(JObject obj, JFieldID fieldID) { |
| return ref.GetDoubleField.asFunction<double Function(JObject, JFieldID)>()( |
| obj, fieldID); |
| } |
| |
| void SetObjectField(JObject obj, JFieldID fieldID, JObject val) { |
| return ref.SetObjectField.asFunction< |
| void Function(JObject, JFieldID, JObject)>()(obj, fieldID, val); |
| } |
| |
| void SetBooleanField(JObject obj, JFieldID fieldID, int val) { |
| return ref.SetBooleanField.asFunction< |
| void Function(JObject, JFieldID, int)>()(obj, fieldID, val); |
| } |
| |
| void SetByteField(JObject obj, JFieldID fieldID, int val) { |
| return ref.SetByteField.asFunction<void Function(JObject, JFieldID, int)>()( |
| obj, fieldID, val); |
| } |
| |
| void SetCharField(JObject obj, JFieldID fieldID, int val) { |
| return ref.SetCharField.asFunction<void Function(JObject, JFieldID, int)>()( |
| obj, fieldID, val); |
| } |
| |
| void SetShortField(JObject obj, JFieldID fieldID, int val) { |
| return ref.SetShortField.asFunction< |
| void Function(JObject, JFieldID, int)>()(obj, fieldID, val); |
| } |
| |
| void SetIntField(JObject obj, JFieldID fieldID, int val) { |
| return ref.SetIntField.asFunction<void Function(JObject, JFieldID, int)>()( |
| obj, fieldID, val); |
| } |
| |
| void SetLongField(JObject obj, JFieldID fieldID, int val) { |
| return ref.SetLongField.asFunction<void Function(JObject, JFieldID, int)>()( |
| obj, fieldID, val); |
| } |
| |
| void SetFloatField(JObject obj, JFieldID fieldID, double val) { |
| return ref.SetFloatField.asFunction< |
| void Function(JObject, JFieldID, double)>()(obj, fieldID, val); |
| } |
| |
| void SetDoubleField(JObject obj, JFieldID fieldID, double val) { |
| return ref.SetDoubleField.asFunction< |
| void Function(JObject, JFieldID, double)>()(obj, fieldID, val); |
| } |
| |
| JMethodID GetStaticMethodID( |
| JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) { |
| return ref.GetStaticMethodID.asFunction< |
| JMethodID Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(clazz, name, sig); |
| } |
| |
| JObject CallStaticObjectMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticObjectMethod.asFunction< |
| JObject Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| JObject CallStaticObjectMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticObjectMethodA.asFunction< |
| JObject Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| int CallStaticBooleanMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticBooleanMethod.asFunction< |
| int Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| int CallStaticBooleanMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticBooleanMethodA.asFunction< |
| int Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| int CallStaticByteMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticByteMethod.asFunction< |
| int Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| int CallStaticByteMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticByteMethodA.asFunction< |
| int Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| int CallStaticCharMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticCharMethod.asFunction< |
| int Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| int CallStaticCharMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticCharMethodA.asFunction< |
| int Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| int CallStaticShortMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticShortMethod.asFunction< |
| int Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| int CallStaticShortMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticShortMethodA.asFunction< |
| int Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| int CallStaticIntMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticIntMethod.asFunction< |
| int Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| int CallStaticIntMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticIntMethodA.asFunction< |
| int Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| int CallStaticLongMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticLongMethod.asFunction< |
| int Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| int CallStaticLongMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticLongMethodA.asFunction< |
| int Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| double CallStaticFloatMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticFloatMethod.asFunction< |
| double Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| double CallStaticFloatMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticFloatMethodA.asFunction< |
| double Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| double CallStaticDoubleMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticDoubleMethod.asFunction< |
| double Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| double CallStaticDoubleMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticDoubleMethodA.asFunction< |
| double Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| void CallStaticVoidMethod(JClass arg1, JMethodID arg2) { |
| return ref.CallStaticVoidMethod.asFunction< |
| void Function(JClass, JMethodID)>()(arg1, arg2); |
| } |
| |
| void CallStaticVoidMethodA( |
| JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) { |
| return ref.CallStaticVoidMethodA.asFunction< |
| void Function( |
| JClass, JMethodID, ffi.Pointer<JValue>)>()(clazz, methodID, args); |
| } |
| |
| JFieldID GetStaticFieldID( |
| JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) { |
| return ref.GetStaticFieldID.asFunction< |
| JFieldID Function(JClass, ffi.Pointer<ffi.Char>, |
| ffi.Pointer<ffi.Char>)>()(clazz, name, sig); |
| } |
| |
| JObject GetStaticObjectField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticObjectField.asFunction< |
| JObject Function(JClass, JFieldID)>()(clazz, fieldID); |
| } |
| |
| int GetStaticBooleanField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticBooleanField.asFunction< |
| int Function(JClass, JFieldID)>()(clazz, fieldID); |
| } |
| |
| int GetStaticByteField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticByteField.asFunction<int Function(JClass, JFieldID)>()( |
| clazz, fieldID); |
| } |
| |
| int GetStaticCharField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticCharField.asFunction<int Function(JClass, JFieldID)>()( |
| clazz, fieldID); |
| } |
| |
| int GetStaticShortField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticShortField.asFunction<int Function(JClass, JFieldID)>()( |
| clazz, fieldID); |
| } |
| |
| int GetStaticIntField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticIntField.asFunction<int Function(JClass, JFieldID)>()( |
| clazz, fieldID); |
| } |
| |
| int GetStaticLongField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticLongField.asFunction<int Function(JClass, JFieldID)>()( |
| clazz, fieldID); |
| } |
| |
| double GetStaticFloatField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticFloatField.asFunction< |
| double Function(JClass, JFieldID)>()(clazz, fieldID); |
| } |
| |
| double GetStaticDoubleField(JClass clazz, JFieldID fieldID) { |
| return ref.GetStaticDoubleField.asFunction< |
| double Function(JClass, JFieldID)>()(clazz, fieldID); |
| } |
| |
| void SetStaticObjectField(JClass clazz, JFieldID fieldID, JObject val) { |
| return ref.SetStaticObjectField.asFunction< |
| void Function(JClass, JFieldID, JObject)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticBooleanField(JClass clazz, JFieldID fieldID, int val) { |
| return ref.SetStaticBooleanField.asFunction< |
| void Function(JClass, JFieldID, int)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticByteField(JClass clazz, JFieldID fieldID, int val) { |
| return ref.SetStaticByteField.asFunction< |
| void Function(JClass, JFieldID, int)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticCharField(JClass clazz, JFieldID fieldID, int val) { |
| return ref.SetStaticCharField.asFunction< |
| void Function(JClass, JFieldID, int)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticShortField(JClass clazz, JFieldID fieldID, int val) { |
| return ref.SetStaticShortField.asFunction< |
| void Function(JClass, JFieldID, int)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticIntField(JClass clazz, JFieldID fieldID, int val) { |
| return ref.SetStaticIntField.asFunction< |
| void Function(JClass, JFieldID, int)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticLongField(JClass clazz, JFieldID fieldID, int val) { |
| return ref.SetStaticLongField.asFunction< |
| void Function(JClass, JFieldID, int)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticFloatField(JClass clazz, JFieldID fieldID, double val) { |
| return ref.SetStaticFloatField.asFunction< |
| void Function(JClass, JFieldID, double)>()(clazz, fieldID, val); |
| } |
| |
| void SetStaticDoubleField(JClass clazz, JFieldID fieldID, double val) { |
| return ref.SetStaticDoubleField.asFunction< |
| void Function(JClass, JFieldID, double)>()(clazz, fieldID, val); |
| } |
| |
| JString NewString(ffi.Pointer<JChar> unicodeChars, int len) { |
| return ref.NewString.asFunction< |
| JString Function(ffi.Pointer<JChar>, int)>()(unicodeChars, len); |
| } |
| |
| int GetStringLength(JString string) { |
| return ref.GetStringLength.asFunction<int Function(JString)>()(string); |
| } |
| |
| ffi.Pointer<JChar> GetStringChars( |
| JString string, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetStringChars.asFunction< |
| ffi.Pointer<JChar> Function( |
| JString, ffi.Pointer<JBoolean>)>()(string, isCopy); |
| } |
| |
| void ReleaseStringChars(JString string, ffi.Pointer<JChar> isCopy) { |
| return ref.ReleaseStringChars.asFunction< |
| void Function(JString, ffi.Pointer<JChar>)>()(string, isCopy); |
| } |
| |
| JString NewStringUTF(ffi.Pointer<ffi.Char> bytes) { |
| return ref.NewStringUTF.asFunction< |
| JString Function(ffi.Pointer<ffi.Char>)>()(bytes); |
| } |
| |
| int GetStringUTFLength(JString string) { |
| return ref.GetStringUTFLength.asFunction<int Function(JString)>()(string); |
| } |
| |
| ffi.Pointer<ffi.Char> GetStringUTFChars( |
| JString string, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetStringUTFChars.asFunction< |
| ffi.Pointer<ffi.Char> Function( |
| JString, ffi.Pointer<JBoolean>)>()(string, isCopy); |
| } |
| |
| void ReleaseStringUTFChars(JString string, ffi.Pointer<ffi.Char> utf) { |
| return ref.ReleaseStringUTFChars.asFunction< |
| void Function(JString, ffi.Pointer<ffi.Char>)>()(string, utf); |
| } |
| |
| int GetArrayLength(JArray array) { |
| return ref.GetArrayLength.asFunction<int Function(JArray)>()(array); |
| } |
| |
| JObjectArray NewObjectArray( |
| int length, JClass elementClass, JObject initialElement) { |
| return ref.NewObjectArray.asFunction< |
| JObjectArray Function( |
| int, JClass, JObject)>()(length, elementClass, initialElement); |
| } |
| |
| JObject GetObjectArrayElement(JObjectArray array, int index) { |
| return ref.GetObjectArrayElement.asFunction< |
| JObject Function(JObjectArray, int)>()(array, index); |
| } |
| |
| void SetObjectArrayElement(JObjectArray array, int index, JObject val) { |
| return ref.SetObjectArrayElement.asFunction< |
| void Function(JObjectArray, int, JObject)>()(array, index, val); |
| } |
| |
| JBooleanArray NewBooleanArray(int length) { |
| return ref.NewBooleanArray.asFunction<JBooleanArray Function(int)>()( |
| length); |
| } |
| |
| JByteArray NewByteArray(int length) { |
| return ref.NewByteArray.asFunction<JByteArray Function(int)>()(length); |
| } |
| |
| JCharArray NewCharArray(int length) { |
| return ref.NewCharArray.asFunction<JCharArray Function(int)>()(length); |
| } |
| |
| JShortArray NewShortArray(int length) { |
| return ref.NewShortArray.asFunction<JShortArray Function(int)>()(length); |
| } |
| |
| JIntArray NewIntArray(int length) { |
| return ref.NewIntArray.asFunction<JIntArray Function(int)>()(length); |
| } |
| |
| JLongArray NewLongArray(int length) { |
| return ref.NewLongArray.asFunction<JLongArray Function(int)>()(length); |
| } |
| |
| JFloatArray NewFloatArray(int length) { |
| return ref.NewFloatArray.asFunction<JFloatArray Function(int)>()(length); |
| } |
| |
| JDoubleArray NewDoubleArray(int length) { |
| return ref.NewDoubleArray.asFunction<JDoubleArray Function(int)>()(length); |
| } |
| |
| ffi.Pointer<JBoolean> GetBooleanArrayElements( |
| JBooleanArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetBooleanArrayElements.asFunction< |
| ffi.Pointer<JBoolean> Function( |
| JBooleanArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JByte> GetByteArrayElements( |
| JByteArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetByteArrayElements.asFunction< |
| ffi.Pointer<JByte> Function( |
| JByteArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JChar> GetCharArrayElements( |
| JCharArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetCharArrayElements.asFunction< |
| ffi.Pointer<JChar> Function( |
| JCharArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JShort> GetShortArrayElements( |
| JShortArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetShortArrayElements.asFunction< |
| ffi.Pointer<JShort> Function( |
| JShortArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JInt> GetIntArrayElements( |
| JIntArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetIntArrayElements.asFunction< |
| ffi.Pointer<JInt> Function( |
| JIntArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JLong> GetLongArrayElements( |
| JLongArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetLongArrayElements.asFunction< |
| ffi.Pointer<JLong> Function( |
| JLongArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JFloat> GetFloatArrayElements( |
| JFloatArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetFloatArrayElements.asFunction< |
| ffi.Pointer<JFloat> Function( |
| JFloatArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| ffi.Pointer<JDouble> GetDoubleArrayElements( |
| JDoubleArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetDoubleArrayElements.asFunction< |
| ffi.Pointer<JDouble> Function( |
| JDoubleArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| void ReleaseBooleanArrayElements( |
| JBooleanArray array, ffi.Pointer<JBoolean> elems, int mode) { |
| return ref.ReleaseBooleanArrayElements.asFunction< |
| void Function( |
| JBooleanArray, ffi.Pointer<JBoolean>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseByteArrayElements( |
| JByteArray array, ffi.Pointer<JByte> elems, int mode) { |
| return ref.ReleaseByteArrayElements.asFunction< |
| void Function( |
| JByteArray, ffi.Pointer<JByte>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseCharArrayElements( |
| JCharArray array, ffi.Pointer<JChar> elems, int mode) { |
| return ref.ReleaseCharArrayElements.asFunction< |
| void Function( |
| JCharArray, ffi.Pointer<JChar>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseShortArrayElements( |
| JShortArray array, ffi.Pointer<JShort> elems, int mode) { |
| return ref.ReleaseShortArrayElements.asFunction< |
| void Function( |
| JShortArray, ffi.Pointer<JShort>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseIntArrayElements( |
| JIntArray array, ffi.Pointer<JInt> elems, int mode) { |
| return ref.ReleaseIntArrayElements.asFunction< |
| void Function(JIntArray, ffi.Pointer<JInt>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseLongArrayElements( |
| JLongArray array, ffi.Pointer<JLong> elems, int mode) { |
| return ref.ReleaseLongArrayElements.asFunction< |
| void Function( |
| JLongArray, ffi.Pointer<JLong>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseFloatArrayElements( |
| JFloatArray array, ffi.Pointer<JFloat> elems, int mode) { |
| return ref.ReleaseFloatArrayElements.asFunction< |
| void Function( |
| JFloatArray, ffi.Pointer<JFloat>, int)>()(array, elems, mode); |
| } |
| |
| void ReleaseDoubleArrayElements( |
| JDoubleArray array, ffi.Pointer<JDouble> elems, int mode) { |
| return ref.ReleaseDoubleArrayElements.asFunction< |
| void Function( |
| JDoubleArray, ffi.Pointer<JDouble>, int)>()(array, elems, mode); |
| } |
| |
| void GetBooleanArrayRegion( |
| JBooleanArray array, int start, int len, ffi.Pointer<JBoolean> buf) { |
| return ref.GetBooleanArrayRegion.asFunction< |
| void Function(JBooleanArray, int, int, ffi.Pointer<JBoolean>)>()( |
| array, start, len, buf); |
| } |
| |
| void GetByteArrayRegion( |
| JByteArray array, int start, int len, ffi.Pointer<JByte> buf) { |
| return ref.GetByteArrayRegion.asFunction< |
| void Function(JByteArray, int, int, ffi.Pointer<JByte>)>()( |
| array, start, len, buf); |
| } |
| |
| void GetCharArrayRegion( |
| JCharArray array, int start, int len, ffi.Pointer<JChar> buf) { |
| return ref.GetCharArrayRegion.asFunction< |
| void Function(JCharArray, int, int, ffi.Pointer<JChar>)>()( |
| array, start, len, buf); |
| } |
| |
| void GetShortArrayRegion( |
| JShortArray array, int start, int len, ffi.Pointer<JShort> buf) { |
| return ref.GetShortArrayRegion.asFunction< |
| void Function(JShortArray, int, int, ffi.Pointer<JShort>)>()( |
| array, start, len, buf); |
| } |
| |
| void GetIntArrayRegion( |
| JIntArray array, int start, int len, ffi.Pointer<JInt> buf) { |
| return ref.GetIntArrayRegion.asFunction< |
| void Function( |
| JIntArray, int, int, ffi.Pointer<JInt>)>()(array, start, len, buf); |
| } |
| |
| void GetLongArrayRegion( |
| JLongArray array, int start, int len, ffi.Pointer<JLong> buf) { |
| return ref.GetLongArrayRegion.asFunction< |
| void Function(JLongArray, int, int, ffi.Pointer<JLong>)>()( |
| array, start, len, buf); |
| } |
| |
| void GetFloatArrayRegion( |
| JFloatArray array, int start, int len, ffi.Pointer<JFloat> buf) { |
| return ref.GetFloatArrayRegion.asFunction< |
| void Function(JFloatArray, int, int, ffi.Pointer<JFloat>)>()( |
| array, start, len, buf); |
| } |
| |
| void GetDoubleArrayRegion( |
| JDoubleArray array, int start, int len, ffi.Pointer<JDouble> buf) { |
| return ref.GetDoubleArrayRegion.asFunction< |
| void Function(JDoubleArray, int, int, ffi.Pointer<JDouble>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetBooleanArrayRegion( |
| JBooleanArray array, int start, int len, ffi.Pointer<JBoolean> buf) { |
| return ref.SetBooleanArrayRegion.asFunction< |
| void Function(JBooleanArray, int, int, ffi.Pointer<JBoolean>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetByteArrayRegion( |
| JByteArray array, int start, int len, ffi.Pointer<JByte> buf) { |
| return ref.SetByteArrayRegion.asFunction< |
| void Function(JByteArray, int, int, ffi.Pointer<JByte>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetCharArrayRegion( |
| JCharArray array, int start, int len, ffi.Pointer<JChar> buf) { |
| return ref.SetCharArrayRegion.asFunction< |
| void Function(JCharArray, int, int, ffi.Pointer<JChar>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetShortArrayRegion( |
| JShortArray array, int start, int len, ffi.Pointer<JShort> buf) { |
| return ref.SetShortArrayRegion.asFunction< |
| void Function(JShortArray, int, int, ffi.Pointer<JShort>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetIntArrayRegion( |
| JIntArray array, int start, int len, ffi.Pointer<JInt> buf) { |
| return ref.SetIntArrayRegion.asFunction< |
| void Function( |
| JIntArray, int, int, ffi.Pointer<JInt>)>()(array, start, len, buf); |
| } |
| |
| void SetLongArrayRegion( |
| JLongArray array, int start, int len, ffi.Pointer<JLong> buf) { |
| return ref.SetLongArrayRegion.asFunction< |
| void Function(JLongArray, int, int, ffi.Pointer<JLong>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetFloatArrayRegion( |
| JFloatArray array, int start, int len, ffi.Pointer<JFloat> buf) { |
| return ref.SetFloatArrayRegion.asFunction< |
| void Function(JFloatArray, int, int, ffi.Pointer<JFloat>)>()( |
| array, start, len, buf); |
| } |
| |
| void SetDoubleArrayRegion( |
| JDoubleArray array, int start, int len, ffi.Pointer<JDouble> buf) { |
| return ref.SetDoubleArrayRegion.asFunction< |
| void Function(JDoubleArray, int, int, ffi.Pointer<JDouble>)>()( |
| array, start, len, buf); |
| } |
| |
| int RegisterNatives( |
| JClass clazz, ffi.Pointer<JNINativeMethod> methods, int nMethods) { |
| return ref.RegisterNatives.asFunction< |
| int Function(JClass, ffi.Pointer<JNINativeMethod>, int)>()( |
| clazz, methods, nMethods); |
| } |
| |
| int UnregisterNatives(JClass clazz) { |
| return ref.UnregisterNatives.asFunction<int Function(JClass)>()(clazz); |
| } |
| |
| int MonitorEnter(JObject obj) { |
| return ref.MonitorEnter.asFunction<int Function(JObject)>()(obj); |
| } |
| |
| int MonitorExit(JObject obj) { |
| return ref.MonitorExit.asFunction<int Function(JObject)>()(obj); |
| } |
| |
| int GetJavaVM(ffi.Pointer<ffi.Pointer<JavaVM>> vm) { |
| return ref.GetJavaVM.asFunction< |
| int Function(ffi.Pointer<ffi.Pointer<JavaVM>>)>()(vm); |
| } |
| |
| void GetStringRegion( |
| JString str, int start, int len, ffi.Pointer<JChar> buf) { |
| return ref.GetStringRegion.asFunction< |
| void Function( |
| JString, int, int, ffi.Pointer<JChar>)>()(str, start, len, buf); |
| } |
| |
| void GetStringUTFRegion( |
| JString str, int start, int len, ffi.Pointer<ffi.Char> buf) { |
| return ref.GetStringUTFRegion.asFunction< |
| void Function( |
| JString, int, int, ffi.Pointer<ffi.Char>)>()(str, start, len, buf); |
| } |
| |
| ffi.Pointer<ffi.Void> GetPrimitiveArrayCritical( |
| JArray array, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetPrimitiveArrayCritical.asFunction< |
| ffi.Pointer<ffi.Void> Function( |
| JArray, ffi.Pointer<JBoolean>)>()(array, isCopy); |
| } |
| |
| void ReleasePrimitiveArrayCritical( |
| JArray array, ffi.Pointer<ffi.Void> carray, int mode) { |
| return ref.ReleasePrimitiveArrayCritical.asFunction< |
| void Function( |
| JArray, ffi.Pointer<ffi.Void>, int)>()(array, carray, mode); |
| } |
| |
| ffi.Pointer<JChar> GetStringCritical( |
| JString str, ffi.Pointer<JBoolean> isCopy) { |
| return ref.GetStringCritical.asFunction< |
| ffi.Pointer<JChar> Function( |
| JString, ffi.Pointer<JBoolean>)>()(str, isCopy); |
| } |
| |
| void ReleaseStringCritical(JString str, ffi.Pointer<JChar> carray) { |
| return ref.ReleaseStringCritical.asFunction< |
| void Function(JString, ffi.Pointer<JChar>)>()(str, carray); |
| } |
| |
| JWeak NewWeakGlobalRef(JObject obj) { |
| return ref.NewWeakGlobalRef.asFunction<JWeak Function(JObject)>()(obj); |
| } |
| |
| void DeleteWeakGlobalRef(JWeak obj) { |
| return ref.DeleteWeakGlobalRef.asFunction<void Function(JWeak)>()(obj); |
| } |
| |
| int ExceptionCheck() { |
| return ref.ExceptionCheck.asFunction<int Function()>()(); |
| } |
| |
| JObject NewDirectByteBuffer(ffi.Pointer<ffi.Void> address, int capacity) { |
| return ref.NewDirectByteBuffer.asFunction< |
| JObject Function(ffi.Pointer<ffi.Void>, int)>()(address, capacity); |
| } |
| |
| ffi.Pointer<ffi.Void> GetDirectBufferAddress(JObject buf) { |
| return ref.GetDirectBufferAddress.asFunction< |
| ffi.Pointer<ffi.Void> Function(JObject)>()(buf); |
| } |
| |
| int GetDirectBufferCapacity(JObject buf) { |
| return ref.GetDirectBufferCapacity.asFunction<int Function(JObject)>()(buf); |
| } |
| |
| int GetObjectRefType(JObject obj) { |
| return ref.GetObjectRefType.asFunction<int Function(JObject)>()(obj); |
| } |
| } |
| |
| const int JNI_FALSE = 0; |
| |
| const int JNI_TRUE = 1; |
| |
| const int JNI_VERSION_1_1 = 65537; |
| |
| const int JNI_VERSION_1_2 = 65538; |
| |
| const int JNI_VERSION_1_4 = 65540; |
| |
| const int JNI_VERSION_1_6 = 65542; |
| |
| const int JNI_OK = 0; |
| |
| const int JNI_ERR = -1; |
| |
| const int JNI_EDETACHED = -2; |
| |
| const int JNI_EVERSION = -3; |
| |
| const int JNI_ENOMEM = -4; |
| |
| const int JNI_EEXIST = -5; |
| |
| const int JNI_EINVAL = -6; |
| |
| const int JNI_COMMIT = 1; |
| |
| const int JNI_ABORT = 2; |