blob: 005029c4244508fd411a9fc3acf729f35db23a8f [file]
// 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;
/// VM initialization functions.
///
/// Note these are the only symbols exported for JNI by the VM.
int JNI_GetDefaultJavaVMInitArgs(
ffi.Pointer<ffi.Void> arg0,
) {
return _JNI_GetDefaultJavaVMInitArgs(
arg0,
);
}
late final _JNI_GetDefaultJavaVMInitArgsPtr =
_lookup<ffi.NativeFunction<JInt Function(ffi.Pointer<ffi.Void>)>>(
'JNI_GetDefaultJavaVMInitArgs');
late final _JNI_GetDefaultJavaVMInitArgs = _JNI_GetDefaultJavaVMInitArgsPtr
.asFunction<int Function(ffi.Pointer<ffi.Void>)>();
int JNI_CreateJavaVM(
ffi.Pointer<ffi.Pointer<JavaVM>> arg0,
ffi.Pointer<ffi.Pointer<JniEnv>> arg1,
ffi.Pointer<ffi.Void> arg2,
) {
return _JNI_CreateJavaVM(
arg0,
arg1,
arg2,
);
}
late final _JNI_CreateJavaVMPtr = _lookup<
ffi.NativeFunction<
JInt Function(
ffi.Pointer<ffi.Pointer<JavaVM>>,
ffi.Pointer<ffi.Pointer<JniEnv>>,
ffi.Pointer<ffi.Void>)>>('JNI_CreateJavaVM');
late final _JNI_CreateJavaVM = _JNI_CreateJavaVMPtr.asFunction<
int Function(ffi.Pointer<ffi.Pointer<JavaVM>>,
ffi.Pointer<ffi.Pointer<JniEnv>>, ffi.Pointer<ffi.Void>)>();
int JNI_GetCreatedJavaVMs(
ffi.Pointer<ffi.Pointer<JavaVM>> arg0,
int arg1,
ffi.Pointer<JSize> arg2,
) {
return _JNI_GetCreatedJavaVMs(
arg0,
arg1,
arg2,
);
}
late final _JNI_GetCreatedJavaVMsPtr = _lookup<
ffi.NativeFunction<
JInt Function(ffi.Pointer<ffi.Pointer<JavaVM>>, JSize,
ffi.Pointer<JSize>)>>('JNI_GetCreatedJavaVMs');
late final _JNI_GetCreatedJavaVMs = _JNI_GetCreatedJavaVMsPtr.asFunction<
int Function(
ffi.Pointer<ffi.Pointer<JavaVM>>, int, ffi.Pointer<JSize>)>();
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()>();
void SetJNILogging(
int level,
) {
return _SetJNILogging(
level,
);
}
late final _SetJNILoggingPtr =
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int)>>('SetJNILogging');
late final _SetJNILogging =
_SetJNILoggingPtr.asFunction<void Function(int)>();
}
class jfieldID_ extends ffi.Opaque {}
class jmethodID_ extends ffi.Opaque {}
/// 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> {
@pragma('vm:prefer-inline')
int DestroyJavaVM() {
return value.ref.DestroyJavaVM
.asFunction<int Function(ffi.Pointer<JavaVM>)>()(this);
}
@pragma('vm:prefer-inline')
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);
}
@pragma('vm:prefer-inline')
int DetachCurrentThread() {
return value.ref.DetachCurrentThread
.asFunction<int Function(ffi.Pointer<JavaVM>)>()(this);
}
@pragma('vm:prefer-inline')
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);
}
@pragma('vm:prefer-inline')
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 JInt = ffi.Int32;
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.NativeFunction<
JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JObject Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JByte Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JChar Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JShort Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JInt Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JLong Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JFloat Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JDouble Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JObject Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JBoolean Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JByte Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JChar Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JShort Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JInt Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JLong Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JFloat Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JDouble Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JBoolean Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JByte Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JChar Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JShort Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JInt Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JLong Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JFloat Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
JDouble Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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.NativeFunction<
ffi.Void Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<__va_list_tag>)>> _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;
}
extension JNINativeInterfaceExtension on ffi.Pointer<JniEnv> {
@pragma('vm:prefer-inline')
int GetVersion() {
return value.ref.GetVersion
.asFunction<int Function(ffi.Pointer<JniEnv1>)>()(this);
}
@pragma('vm:prefer-inline')
JClass DefineClass(ffi.Pointer<ffi.Char> name, JObject loader,
ffi.Pointer<JByte> buf, int bufLen) {
return value.ref.DefineClass.asFunction<
JClass Function(ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>, JObject,
ffi.Pointer<JByte>, int)>()(this, name, loader, buf, bufLen);
}
@pragma('vm:prefer-inline')
JClass FindClass(ffi.Pointer<ffi.Char> name) {
return value.ref.FindClass.asFunction<
JClass Function(
ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>)>()(this, name);
}
@pragma('vm:prefer-inline')
JMethodID FromReflectedMethod(JObject method) {
return value.ref.FromReflectedMethod
.asFunction<JMethodID Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, method);
}
@pragma('vm:prefer-inline')
JFieldID FromReflectedField(JObject field) {
return value.ref.FromReflectedField
.asFunction<JFieldID Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, field);
}
/// spec doesn't show jboolean parameter
///
/// This is an automatically generated extension method
@pragma('vm:prefer-inline')
JObject ToReflectedMethod(JClass cls, JMethodID methodId, int isStatic) {
return value.ref.ToReflectedMethod.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID, int)>()(
this, cls, methodId, isStatic);
}
@pragma('vm:prefer-inline')
JClass GetSuperclass(JClass clazz) {
return value.ref.GetSuperclass
.asFunction<JClass Function(ffi.Pointer<JniEnv1>, JClass)>()(
this, clazz);
}
@pragma('vm:prefer-inline')
int IsAssignableFrom(JClass clazz1, JClass clazz2) {
return value.ref.IsAssignableFrom
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JClass)>()(
this, clazz1, clazz2);
}
/// spec doesn't show jboolean parameter
///
/// This is an automatically generated extension method
@pragma('vm:prefer-inline')
JObject ToReflectedField(JClass cls, JFieldID fieldID, int isStatic) {
return value.ref.ToReflectedField.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, cls, fieldID, isStatic);
}
@pragma('vm:prefer-inline')
int Throw(JThrowable obj) {
return value.ref.Throw
.asFunction<int Function(ffi.Pointer<JniEnv1>, JThrowable)>()(
this, obj);
}
@pragma('vm:prefer-inline')
int ThrowNew(JClass clazz, ffi.Pointer<ffi.Char> message) {
return value.ref.ThrowNew.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass,
ffi.Pointer<ffi.Char>)>()(this, clazz, message);
}
@pragma('vm:prefer-inline')
JThrowable ExceptionOccurred() {
return value.ref.ExceptionOccurred
.asFunction<JThrowable Function(ffi.Pointer<JniEnv1>)>()(this);
}
@pragma('vm:prefer-inline')
void ExceptionDescribe() {
return value.ref.ExceptionDescribe
.asFunction<void Function(ffi.Pointer<JniEnv1>)>()(this);
}
@pragma('vm:prefer-inline')
void ExceptionClear() {
return value.ref.ExceptionClear
.asFunction<void Function(ffi.Pointer<JniEnv1>)>()(this);
}
@pragma('vm:prefer-inline')
void FatalError(ffi.Pointer<ffi.Char> msg) {
return value.ref.FatalError.asFunction<
void Function(
ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>)>()(this, msg);
}
@pragma('vm:prefer-inline')
int PushLocalFrame(int capacity) {
return value.ref.PushLocalFrame
.asFunction<int Function(ffi.Pointer<JniEnv1>, int)>()(this, capacity);
}
@pragma('vm:prefer-inline')
JObject PopLocalFrame(JObject result) {
return value.ref.PopLocalFrame
.asFunction<JObject Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, result);
}
@pragma('vm:prefer-inline')
JObject NewGlobalRef(JObject obj) {
return value.ref.NewGlobalRef
.asFunction<JObject Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, obj);
}
@pragma('vm:prefer-inline')
void DeleteGlobalRef(JObject globalRef) {
return value.ref.DeleteGlobalRef
.asFunction<void Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, globalRef);
}
@pragma('vm:prefer-inline')
void DeleteLocalRef(JObject localRef) {
return value.ref.DeleteLocalRef
.asFunction<void Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, localRef);
}
@pragma('vm:prefer-inline')
int IsSameObject(JObject ref1, JObject ref2) {
return value.ref.IsSameObject
.asFunction<int Function(ffi.Pointer<JniEnv1>, JObject, JObject)>()(
this, ref1, ref2);
}
@pragma('vm:prefer-inline')
JObject NewLocalRef(JObject ref) {
return value.ref.NewLocalRef
.asFunction<JObject Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, ref);
}
@pragma('vm:prefer-inline')
int EnsureLocalCapacity(int capacity) {
return value.ref.EnsureLocalCapacity
.asFunction<int Function(ffi.Pointer<JniEnv1>, int)>()(this, capacity);
}
@pragma('vm:prefer-inline')
JObject AllocObject(JClass clazz) {
return value.ref.AllocObject
.asFunction<JObject Function(ffi.Pointer<JniEnv1>, JClass)>()(
this, clazz);
}
@pragma('vm:prefer-inline')
JObject NewObject(JClass arg0, JMethodID arg1) {
return value.ref.NewObject.asFunction<
JObject Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
JObject NewObjectA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.NewObjectA.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
JClass GetObjectClass(JObject obj) {
return value.ref.GetObjectClass
.asFunction<JClass Function(ffi.Pointer<JniEnv1>, JObject)>()(
this, obj);
}
@pragma('vm:prefer-inline')
int IsInstanceOf(JObject obj, JClass clazz) {
return value.ref.IsInstanceOf
.asFunction<int Function(ffi.Pointer<JniEnv1>, JObject, JClass)>()(
this, obj, clazz);
}
@pragma('vm:prefer-inline')
JMethodID GetMethodID(
JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) {
return value.ref.GetMethodID.asFunction<
JMethodID Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>,
ffi.Pointer<ffi.Char>)>()(this, clazz, name, sig);
}
@pragma('vm:prefer-inline')
JObject CallObjectMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallObjectMethod.asFunction<
JObject Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
JObject CallObjectMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallObjectMethodA.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
int CallBooleanMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallBooleanMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallBooleanMethodA(
JObject obj, JMethodID methodId, ffi.Pointer<JValue> args) {
return value.ref.CallBooleanMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodId, args);
}
@pragma('vm:prefer-inline')
int CallByteMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallByteMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallByteMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallByteMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
int CallCharMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallCharMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallCharMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallCharMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
int CallShortMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallShortMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallShortMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallShortMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
int CallIntMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallIntMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallIntMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallIntMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
int CallLongMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallLongMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallLongMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallLongMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
double CallFloatMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallFloatMethod.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
double CallFloatMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallFloatMethodA.asFunction<
double Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
double CallDoubleMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallDoubleMethod.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
double CallDoubleMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallDoubleMethodA.asFunction<
double Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
void CallVoidMethod(JObject arg0, JMethodID arg1) {
return value.ref.CallVoidMethod.asFunction<
void Function(
ffi.Pointer<JniEnv1>, JObject, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
void CallVoidMethodA(
JObject obj, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallVoidMethodA.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, methodID, args);
}
@pragma('vm:prefer-inline')
JObject CallNonvirtualObjectMethod(
JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualObjectMethod.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JObject, JClass,
JMethodID)>()(this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
JObject CallNonvirtualObjectMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualObjectMethodA.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallNonvirtualBooleanMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualBooleanMethod.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
int CallNonvirtualBooleanMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualBooleanMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallNonvirtualByteMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualByteMethod.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
int CallNonvirtualByteMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualByteMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallNonvirtualCharMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualCharMethod.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
int CallNonvirtualCharMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualCharMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallNonvirtualShortMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualShortMethod.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
int CallNonvirtualShortMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualShortMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallNonvirtualIntMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualIntMethod.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
int CallNonvirtualIntMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualIntMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallNonvirtualLongMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualLongMethod.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
int CallNonvirtualLongMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualLongMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
double CallNonvirtualFloatMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualFloatMethod.asFunction<
double Function(ffi.Pointer<JniEnv1>, JObject, JClass,
JMethodID)>()(this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
double CallNonvirtualFloatMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualFloatMethodA.asFunction<
double Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
double CallNonvirtualDoubleMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualDoubleMethod.asFunction<
double Function(ffi.Pointer<JniEnv1>, JObject, JClass,
JMethodID)>()(this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
double CallNonvirtualDoubleMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualDoubleMethodA.asFunction<
double Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
void CallNonvirtualVoidMethod(JObject arg0, JClass arg1, JMethodID arg2) {
return value.ref.CallNonvirtualVoidMethod.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID)>()(
this, arg0, arg1, arg2);
}
@pragma('vm:prefer-inline')
void CallNonvirtualVoidMethodA(
JObject obj, JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallNonvirtualVoidMethodA.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, obj, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
JFieldID GetFieldID(
JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) {
return value.ref.GetFieldID.asFunction<
JFieldID Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>,
ffi.Pointer<ffi.Char>)>()(this, clazz, name, sig);
}
@pragma('vm:prefer-inline')
JObject GetObjectField(JObject obj, JFieldID fieldID) {
return value.ref.GetObjectField.asFunction<
JObject Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
int GetBooleanField(JObject obj, JFieldID fieldID) {
return value.ref.GetBooleanField.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
int GetByteField(JObject obj, JFieldID fieldID) {
return value.ref.GetByteField.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
int GetCharField(JObject obj, JFieldID fieldID) {
return value.ref.GetCharField.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
int GetShortField(JObject obj, JFieldID fieldID) {
return value.ref.GetShortField.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
int GetIntField(JObject obj, JFieldID fieldID) {
return value.ref.GetIntField.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
int GetLongField(JObject obj, JFieldID fieldID) {
return value.ref.GetLongField.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
double GetFloatField(JObject obj, JFieldID fieldID) {
return value.ref.GetFloatField.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
double GetDoubleField(JObject obj, JFieldID fieldID) {
return value.ref.GetDoubleField.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JObject, JFieldID)>()(this, obj, fieldID);
}
@pragma('vm:prefer-inline')
void SetObjectField(JObject obj, JFieldID fieldID, JObject val) {
return value.ref.SetObjectField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, JObject)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetBooleanField(JObject obj, JFieldID fieldID, int val) {
return value.ref.SetBooleanField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, int)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetByteField(JObject obj, JFieldID fieldID, int val) {
return value.ref.SetByteField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, int)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetCharField(JObject obj, JFieldID fieldID, int val) {
return value.ref.SetCharField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, int)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetShortField(JObject obj, JFieldID fieldID, int val) {
return value.ref.SetShortField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, int)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetIntField(JObject obj, JFieldID fieldID, int val) {
return value.ref.SetIntField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, int)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetLongField(JObject obj, JFieldID fieldID, int val) {
return value.ref.SetLongField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, int)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetFloatField(JObject obj, JFieldID fieldID, double val) {
return value.ref.SetFloatField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, double)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetDoubleField(JObject obj, JFieldID fieldID, double val) {
return value.ref.SetDoubleField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObject, JFieldID, double)>()(
this, obj, fieldID, val);
}
@pragma('vm:prefer-inline')
JMethodID GetStaticMethodID(
JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) {
return value.ref.GetStaticMethodID.asFunction<
JMethodID Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>,
ffi.Pointer<ffi.Char>)>()(this, clazz, name, sig);
}
@pragma('vm:prefer-inline')
JObject CallStaticObjectMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticObjectMethod.asFunction<
JObject Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
JObject CallStaticObjectMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticObjectMethodA.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallStaticBooleanMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticBooleanMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallStaticBooleanMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticBooleanMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallStaticByteMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticByteMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallStaticByteMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticByteMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallStaticCharMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticCharMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallStaticCharMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticCharMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallStaticShortMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticShortMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallStaticShortMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticShortMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallStaticIntMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticIntMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallStaticIntMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticIntMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
int CallStaticLongMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticLongMethod.asFunction<
int Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
int CallStaticLongMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticLongMethodA.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
double CallStaticFloatMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticFloatMethod.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
double CallStaticFloatMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticFloatMethodA.asFunction<
double Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
double CallStaticDoubleMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticDoubleMethod.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
double CallStaticDoubleMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticDoubleMethodA.asFunction<
double Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
void CallStaticVoidMethod(JClass arg0, JMethodID arg1) {
return value.ref.CallStaticVoidMethod.asFunction<
void Function(
ffi.Pointer<JniEnv1>, JClass, JMethodID)>()(this, arg0, arg1);
}
@pragma('vm:prefer-inline')
void CallStaticVoidMethodA(
JClass clazz, JMethodID methodID, ffi.Pointer<JValue> args) {
return value.ref.CallStaticVoidMethodA.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JMethodID,
ffi.Pointer<JValue>)>()(this, clazz, methodID, args);
}
@pragma('vm:prefer-inline')
JFieldID GetStaticFieldID(
JClass clazz, ffi.Pointer<ffi.Char> name, ffi.Pointer<ffi.Char> sig) {
return value.ref.GetStaticFieldID.asFunction<
JFieldID Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<ffi.Char>,
ffi.Pointer<ffi.Char>)>()(this, clazz, name, sig);
}
@pragma('vm:prefer-inline')
JObject GetStaticObjectField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticObjectField.asFunction<
JObject Function(
ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
int GetStaticBooleanField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticBooleanField
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(
this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
int GetStaticByteField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticByteField
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(
this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
int GetStaticCharField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticCharField
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(
this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
int GetStaticShortField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticShortField
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(
this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
int GetStaticIntField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticIntField
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(
this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
int GetStaticLongField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticLongField
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(
this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
double GetStaticFloatField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticFloatField.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
double GetStaticDoubleField(JClass clazz, JFieldID fieldID) {
return value.ref.GetStaticDoubleField.asFunction<
double Function(
ffi.Pointer<JniEnv1>, JClass, JFieldID)>()(this, clazz, fieldID);
}
@pragma('vm:prefer-inline')
void SetStaticObjectField(JClass clazz, JFieldID fieldID, JObject val) {
return value.ref.SetStaticObjectField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, JObject)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticBooleanField(JClass clazz, JFieldID fieldID, int val) {
return value.ref.SetStaticBooleanField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticByteField(JClass clazz, JFieldID fieldID, int val) {
return value.ref.SetStaticByteField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticCharField(JClass clazz, JFieldID fieldID, int val) {
return value.ref.SetStaticCharField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticShortField(JClass clazz, JFieldID fieldID, int val) {
return value.ref.SetStaticShortField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticIntField(JClass clazz, JFieldID fieldID, int val) {
return value.ref.SetStaticIntField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticLongField(JClass clazz, JFieldID fieldID, int val) {
return value.ref.SetStaticLongField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, int)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticFloatField(JClass clazz, JFieldID fieldID, double val) {
return value.ref.SetStaticFloatField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, double)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
void SetStaticDoubleField(JClass clazz, JFieldID fieldID, double val) {
return value.ref.SetStaticDoubleField.asFunction<
void Function(ffi.Pointer<JniEnv1>, JClass, JFieldID, double)>()(
this, clazz, fieldID, val);
}
@pragma('vm:prefer-inline')
JString NewString(ffi.Pointer<JChar> unicodeChars, int len) {
return value.ref.NewString.asFunction<
JString Function(ffi.Pointer<JniEnv1>, ffi.Pointer<JChar>, int)>()(
this, unicodeChars, len);
}
@pragma('vm:prefer-inline')
int GetStringLength(JString string) {
return value.ref.GetStringLength
.asFunction<int Function(ffi.Pointer<JniEnv1>, JString)>()(
this, string);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JChar> GetStringChars(
JString string, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetStringChars.asFunction<
ffi.Pointer<JChar> Function(ffi.Pointer<JniEnv1>, JString,
ffi.Pointer<JBoolean>)>()(this, string, isCopy);
}
@pragma('vm:prefer-inline')
void ReleaseStringChars(JString string, ffi.Pointer<JChar> isCopy) {
return value.ref.ReleaseStringChars.asFunction<
void Function(ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JChar>)>()(
this, string, isCopy);
}
@pragma('vm:prefer-inline')
JString NewStringUTF(ffi.Pointer<ffi.Char> bytes) {
return value.ref.NewStringUTF.asFunction<
JString Function(
ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Char>)>()(this, bytes);
}
@pragma('vm:prefer-inline')
int GetStringUTFLength(JString string) {
return value.ref.GetStringUTFLength
.asFunction<int Function(ffi.Pointer<JniEnv1>, JString)>()(
this, string);
}
@pragma('vm:prefer-inline')
ffi.Pointer<ffi.Char> GetStringUTFChars(
JString string, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetStringUTFChars.asFunction<
ffi.Pointer<ffi.Char> Function(ffi.Pointer<JniEnv1>, JString,
ffi.Pointer<JBoolean>)>()(this, string, isCopy);
}
@pragma('vm:prefer-inline')
void ReleaseStringUTFChars(JString string, ffi.Pointer<ffi.Char> utf) {
return value.ref.ReleaseStringUTFChars.asFunction<
void Function(ffi.Pointer<JniEnv1>, JString,
ffi.Pointer<ffi.Char>)>()(this, string, utf);
}
@pragma('vm:prefer-inline')
int GetArrayLength(JArray array) {
return value.ref.GetArrayLength
.asFunction<int Function(ffi.Pointer<JniEnv1>, JArray)>()(this, array);
}
@pragma('vm:prefer-inline')
JObjectArray NewObjectArray(
int length, JClass elementClass, JObject initialElement) {
return value.ref.NewObjectArray.asFunction<
JObjectArray Function(ffi.Pointer<JniEnv1>, int, JClass,
JObject)>()(this, length, elementClass, initialElement);
}
@pragma('vm:prefer-inline')
JObject GetObjectArrayElement(JObjectArray array, int index) {
return value.ref.GetObjectArrayElement.asFunction<
JObject Function(
ffi.Pointer<JniEnv1>, JObjectArray, int)>()(this, array, index);
}
@pragma('vm:prefer-inline')
void SetObjectArrayElement(JObjectArray array, int index, JObject val) {
return value.ref.SetObjectArrayElement.asFunction<
void Function(ffi.Pointer<JniEnv1>, JObjectArray, int, JObject)>()(
this, array, index, val);
}
@pragma('vm:prefer-inline')
JBooleanArray NewBooleanArray(int length) {
return value.ref.NewBooleanArray
.asFunction<JBooleanArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JByteArray NewByteArray(int length) {
return value.ref.NewByteArray
.asFunction<JByteArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JCharArray NewCharArray(int length) {
return value.ref.NewCharArray
.asFunction<JCharArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JShortArray NewShortArray(int length) {
return value.ref.NewShortArray
.asFunction<JShortArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JIntArray NewIntArray(int length) {
return value.ref.NewIntArray
.asFunction<JIntArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JLongArray NewLongArray(int length) {
return value.ref.NewLongArray
.asFunction<JLongArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JFloatArray NewFloatArray(int length) {
return value.ref.NewFloatArray
.asFunction<JFloatArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
JDoubleArray NewDoubleArray(int length) {
return value.ref.NewDoubleArray
.asFunction<JDoubleArray Function(ffi.Pointer<JniEnv1>, int)>()(
this, length);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JBoolean> GetBooleanArrayElements(
JBooleanArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetBooleanArrayElements.asFunction<
ffi.Pointer<JBoolean> Function(ffi.Pointer<JniEnv1>, JBooleanArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JByte> GetByteArrayElements(
JByteArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetByteArrayElements.asFunction<
ffi.Pointer<JByte> Function(ffi.Pointer<JniEnv1>, JByteArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JChar> GetCharArrayElements(
JCharArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetCharArrayElements.asFunction<
ffi.Pointer<JChar> Function(ffi.Pointer<JniEnv1>, JCharArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JShort> GetShortArrayElements(
JShortArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetShortArrayElements.asFunction<
ffi.Pointer<JShort> Function(ffi.Pointer<JniEnv1>, JShortArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JInt> GetIntArrayElements(
JIntArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetIntArrayElements.asFunction<
ffi.Pointer<JInt> Function(ffi.Pointer<JniEnv1>, JIntArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JLong> GetLongArrayElements(
JLongArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetLongArrayElements.asFunction<
ffi.Pointer<JLong> Function(ffi.Pointer<JniEnv1>, JLongArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JFloat> GetFloatArrayElements(
JFloatArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetFloatArrayElements.asFunction<
ffi.Pointer<JFloat> Function(ffi.Pointer<JniEnv1>, JFloatArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JDouble> GetDoubleArrayElements(
JDoubleArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetDoubleArrayElements.asFunction<
ffi.Pointer<JDouble> Function(ffi.Pointer<JniEnv1>, JDoubleArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
void ReleaseBooleanArrayElements(
JBooleanArray array, ffi.Pointer<JBoolean> elems, int mode) {
return value.ref.ReleaseBooleanArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JBooleanArray,
ffi.Pointer<JBoolean>, int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseByteArrayElements(
JByteArray array, ffi.Pointer<JByte> elems, int mode) {
return value.ref.ReleaseByteArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JByteArray, ffi.Pointer<JByte>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseCharArrayElements(
JCharArray array, ffi.Pointer<JChar> elems, int mode) {
return value.ref.ReleaseCharArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JCharArray, ffi.Pointer<JChar>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseShortArrayElements(
JShortArray array, ffi.Pointer<JShort> elems, int mode) {
return value.ref.ReleaseShortArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JShortArray, ffi.Pointer<JShort>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseIntArrayElements(
JIntArray array, ffi.Pointer<JInt> elems, int mode) {
return value.ref.ReleaseIntArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JIntArray, ffi.Pointer<JInt>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseLongArrayElements(
JLongArray array, ffi.Pointer<JLong> elems, int mode) {
return value.ref.ReleaseLongArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JLongArray, ffi.Pointer<JLong>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseFloatArrayElements(
JFloatArray array, ffi.Pointer<JFloat> elems, int mode) {
return value.ref.ReleaseFloatArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JFloatArray, ffi.Pointer<JFloat>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void ReleaseDoubleArrayElements(
JDoubleArray array, ffi.Pointer<JDouble> elems, int mode) {
return value.ref.ReleaseDoubleArrayElements.asFunction<
void Function(ffi.Pointer<JniEnv1>, JDoubleArray, ffi.Pointer<JDouble>,
int)>()(this, array, elems, mode);
}
@pragma('vm:prefer-inline')
void GetBooleanArrayRegion(
JBooleanArray array, int start, int len, ffi.Pointer<JBoolean> buf) {
return value.ref.GetBooleanArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JBooleanArray, int, int,
ffi.Pointer<JBoolean>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetByteArrayRegion(
JByteArray array, int start, int len, ffi.Pointer<JByte> buf) {
return value.ref.GetByteArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JByteArray, int, int,
ffi.Pointer<JByte>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetCharArrayRegion(
JCharArray array, int start, int len, ffi.Pointer<JChar> buf) {
return value.ref.GetCharArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JCharArray, int, int,
ffi.Pointer<JChar>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetShortArrayRegion(
JShortArray array, int start, int len, ffi.Pointer<JShort> buf) {
return value.ref.GetShortArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JShortArray, int, int,
ffi.Pointer<JShort>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetIntArrayRegion(
JIntArray array, int start, int len, ffi.Pointer<JInt> buf) {
return value.ref.GetIntArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JIntArray, int, int,
ffi.Pointer<JInt>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetLongArrayRegion(
JLongArray array, int start, int len, ffi.Pointer<JLong> buf) {
return value.ref.GetLongArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JLongArray, int, int,
ffi.Pointer<JLong>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetFloatArrayRegion(
JFloatArray array, int start, int len, ffi.Pointer<JFloat> buf) {
return value.ref.GetFloatArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JFloatArray, int, int,
ffi.Pointer<JFloat>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetDoubleArrayRegion(
JDoubleArray array, int start, int len, ffi.Pointer<JDouble> buf) {
return value.ref.GetDoubleArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JDoubleArray, int, int,
ffi.Pointer<JDouble>)>()(this, array, start, len, buf);
}
/// spec shows these without const; some jni.h do, some don't
///
/// This is an automatically generated extension method
@pragma('vm:prefer-inline')
void SetBooleanArrayRegion(
JBooleanArray array, int start, int len, ffi.Pointer<JBoolean> buf) {
return value.ref.SetBooleanArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JBooleanArray, int, int,
ffi.Pointer<JBoolean>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetByteArrayRegion(
JByteArray array, int start, int len, ffi.Pointer<JByte> buf) {
return value.ref.SetByteArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JByteArray, int, int,
ffi.Pointer<JByte>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetCharArrayRegion(
JCharArray array, int start, int len, ffi.Pointer<JChar> buf) {
return value.ref.SetCharArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JCharArray, int, int,
ffi.Pointer<JChar>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetShortArrayRegion(
JShortArray array, int start, int len, ffi.Pointer<JShort> buf) {
return value.ref.SetShortArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JShortArray, int, int,
ffi.Pointer<JShort>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetIntArrayRegion(
JIntArray array, int start, int len, ffi.Pointer<JInt> buf) {
return value.ref.SetIntArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JIntArray, int, int,
ffi.Pointer<JInt>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetLongArrayRegion(
JLongArray array, int start, int len, ffi.Pointer<JLong> buf) {
return value.ref.SetLongArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JLongArray, int, int,
ffi.Pointer<JLong>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetFloatArrayRegion(
JFloatArray array, int start, int len, ffi.Pointer<JFloat> buf) {
return value.ref.SetFloatArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JFloatArray, int, int,
ffi.Pointer<JFloat>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
void SetDoubleArrayRegion(
JDoubleArray array, int start, int len, ffi.Pointer<JDouble> buf) {
return value.ref.SetDoubleArrayRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JDoubleArray, int, int,
ffi.Pointer<JDouble>)>()(this, array, start, len, buf);
}
@pragma('vm:prefer-inline')
int RegisterNatives(
JClass clazz, ffi.Pointer<JNINativeMethod> methods, int nMethods) {
return value.ref.RegisterNatives.asFunction<
int Function(ffi.Pointer<JniEnv1>, JClass, ffi.Pointer<JNINativeMethod>,
int)>()(this, clazz, methods, nMethods);
}
@pragma('vm:prefer-inline')
int UnregisterNatives(JClass clazz) {
return value.ref.UnregisterNatives
.asFunction<int Function(ffi.Pointer<JniEnv1>, JClass)>()(this, clazz);
}
@pragma('vm:prefer-inline')
int MonitorEnter(JObject obj) {
return value.ref.MonitorEnter
.asFunction<int Function(ffi.Pointer<JniEnv1>, JObject)>()(this, obj);
}
@pragma('vm:prefer-inline')
int MonitorExit(JObject obj) {
return value.ref.MonitorExit
.asFunction<int Function(ffi.Pointer<JniEnv1>, JObject)>()(this, obj);
}
@pragma('vm:prefer-inline')
int GetJavaVM(ffi.Pointer<ffi.Pointer<JavaVM>> vm) {
return value.ref.GetJavaVM.asFunction<
int Function(ffi.Pointer<JniEnv1>,
ffi.Pointer<ffi.Pointer<JavaVM>>)>()(this, vm);
}
@pragma('vm:prefer-inline')
void GetStringRegion(
JString str, int start, int len, ffi.Pointer<JChar> buf) {
return value.ref.GetStringRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JString, int, int,
ffi.Pointer<JChar>)>()(this, str, start, len, buf);
}
@pragma('vm:prefer-inline')
void GetStringUTFRegion(
JString str, int start, int len, ffi.Pointer<ffi.Char> buf) {
return value.ref.GetStringUTFRegion.asFunction<
void Function(ffi.Pointer<JniEnv1>, JString, int, int,
ffi.Pointer<ffi.Char>)>()(this, str, start, len, buf);
}
@pragma('vm:prefer-inline')
ffi.Pointer<ffi.Void> GetPrimitiveArrayCritical(
JArray array, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetPrimitiveArrayCritical.asFunction<
ffi.Pointer<ffi.Void> Function(ffi.Pointer<JniEnv1>, JArray,
ffi.Pointer<JBoolean>)>()(this, array, isCopy);
}
@pragma('vm:prefer-inline')
void ReleasePrimitiveArrayCritical(
JArray array, ffi.Pointer<ffi.Void> carray, int mode) {
return value.ref.ReleasePrimitiveArrayCritical.asFunction<
void Function(ffi.Pointer<JniEnv1>, JArray, ffi.Pointer<ffi.Void>,
int)>()(this, array, carray, mode);
}
@pragma('vm:prefer-inline')
ffi.Pointer<JChar> GetStringCritical(
JString str, ffi.Pointer<JBoolean> isCopy) {
return value.ref.GetStringCritical.asFunction<
ffi.Pointer<JChar> Function(ffi.Pointer<JniEnv1>, JString,
ffi.Pointer<JBoolean>)>()(this, str, isCopy);
}
@pragma('vm:prefer-inline')
void ReleaseStringCritical(JString str, ffi.Pointer<JChar> carray) {
return value.ref.ReleaseStringCritical.asFunction<
void Function(ffi.Pointer<JniEnv1>, JString, ffi.Pointer<JChar>)>()(
this, str, carray);
}
@pragma('vm:prefer-inline')
JWeak NewWeakGlobalRef(JObject obj) {
return value.ref.NewWeakGlobalRef
.asFunction<JWeak Function(ffi.Pointer<JniEnv1>, JObject)>()(this, obj);
}
@pragma('vm:prefer-inline')
void DeleteWeakGlobalRef(JWeak obj) {
return value.ref.DeleteWeakGlobalRef
.asFunction<void Function(ffi.Pointer<JniEnv1>, JWeak)>()(this, obj);
}
@pragma('vm:prefer-inline')
int ExceptionCheck() {
return value.ref.ExceptionCheck
.asFunction<int Function(ffi.Pointer<JniEnv1>)>()(this);
}
@pragma('vm:prefer-inline')
JObject NewDirectByteBuffer(ffi.Pointer<ffi.Void> address, int capacity) {
return value.ref.NewDirectByteBuffer.asFunction<
JObject Function(ffi.Pointer<JniEnv1>, ffi.Pointer<ffi.Void>,
int)>()(this, address, capacity);
}
@pragma('vm:prefer-inline')
ffi.Pointer<ffi.Void> GetDirectBufferAddress(JObject buf) {
return value.ref.GetDirectBufferAddress.asFunction<
ffi.Pointer<ffi.Void> Function(
ffi.Pointer<JniEnv1>, JObject)>()(this, buf);
}
@pragma('vm:prefer-inline')
int GetDirectBufferCapacity(JObject buf) {
return value.ref.GetDirectBufferCapacity
.asFunction<int Function(ffi.Pointer<JniEnv1>, JObject)>()(this, buf);
}
/// added in JNI 1.6
///
/// This is an automatically generated extension method
@pragma('vm:prefer-inline')
int GetObjectRefType(JObject obj) {
return value.ref.GetObjectRefType
.asFunction<int Function(ffi.Pointer<JniEnv1>, JObject)>()(this, obj);
}
}
typedef JniEnv1 = ffi.Pointer<JNINativeInterface>;
typedef JClass = JObject;
/// Reference types, in C.
typedef JObject = ffi.Pointer<ffi.Void>;
typedef JByte = ffi.Int8;
/// "cardinal indices and sizes"
typedef JSize = JInt;
typedef JMethodID = ffi.Pointer<jmethodID_>;
typedef JFieldID = ffi.Pointer<jfieldID_>;
/// Primitive types that match up with Java equivalents.
typedef JBoolean = ffi.Uint8;
typedef JThrowable = JObject;
class __va_list_tag extends ffi.Struct {
@ffi.UnsignedInt()
external int gp_offset;
@ffi.UnsignedInt()
external int fp_offset;
external ffi.Pointer<ffi.Void> overflow_arg_area;
external ffi.Pointer<ffi.Void> reg_save_area;
}
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;
}
typedef JChar = ffi.Uint16;
typedef JShort = ffi.Int16;
typedef JLong = ffi.Int64;
typedef JFloat = ffi.Float;
typedef JDouble = ffi.Double;
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;
class JNINativeMethod extends ffi.Struct {
external ffi.Pointer<ffi.Char> name;
external ffi.Pointer<ffi.Char> signature;
external ffi.Pointer<ffi.Void> fnPtr;
}
typedef JWeak = JObject;
abstract class jobjectRefType {
static const int JNIInvalidRefType = 0;
static const int JNILocalRefType = 1;
static const int JNIGlobalRefType = 2;
static const int JNIWeakGlobalRefType = 3;
}
/// C++ object wrapper.
///
/// This is usually overlaid on a C struct whose first element is a
/// JNINativeInterface*. We rely somewhat on compiler behavior.
class _JNIEnv extends ffi.Struct {
/// do not rename this; it does not seem to be entirely opaque
external ffi.Pointer<JNINativeInterface> functions;
}
/// C++ version.
class _JavaVM extends ffi.Struct {
external ffi.Pointer<JNIInvokeInterface> functions;
}
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;
}
abstract class JniLogLevel {
static const int JNI_VERBOSE = 2;
static const int JNI_DEBUG = 3;
static const int JNI_INFO = 4;
static const int JNI_WARN = 5;
static const int JNI_ERROR = 6;
}
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;
const String JNI_LOG_TAG = 'Dart-JNI';