Crate jni_glue

Source
Expand description

Common glue code between Rust and JNI, used in autogenerated jni-bindgen glue code.

See also the Android JNI tips documentation as well as the Java Native Interface Specification.

Structs§

Argument
FFI: Use Argument<java::lang::Object> instead of jobject. This represents a (null?) function argument.
BooleanArray
A PrimitiveArray implementation.
ByteArray
A PrimitiveArray implementation.
CharArray
A PrimitiveArray implementation.
DoubleArray
A PrimitiveArray implementation.
Env
FFI: Use &Env instead of *const JNIEnv. This represents a per-thread Java exection environment.
FloatArray
A PrimitiveArray implementation.
Global
A Global, non-null, reference to a Java object (+ &VM).
IntArray
A PrimitiveArray implementation.
Local
A Local, non-null, reference to a Java object (+ &Env) limited to the current thread/stack.
LongArray
A PrimitiveArray implementation.
ObjectArray
A Java Array of reference types (classes, interfaces, other arrays, etc.)
ObjectArrayIter
Ref
A non-null, reference to a Java object (+ &Env). This may refer to a Local, Global, local Argument, etc.
ShortArray
A PrimitiveArray implementation.
StringChars
Represents an env.GetStringChars + env.GetStringLength query. Will automatically env.ReleaseStringChars when dropped.
VM
FFI: Use &VM instead of *const JavaVM. This represents a global, process-wide Java exection environment.
jchar
Represents a Java “UTF16” code unit. This is not guaranteed to actually be a valid code unit, and should be treated much like wchar_t is treated by Rust - encoded possibly as WTF8 rather than UTF8, laden with error checking when converting to Rust character/string types, etc.

Traits§

JniType
JNI bindings rely on this type being accurate.
PrimitiveArray
A Java Array of some POD-like type such as bool, jbyte, jchar, jshort, jint, jlong, jfloat, or jdouble.
ThrowableType
A marker type indicating this is a valid exception type that all exceptions thrown by java should be compatible with

Functions§

JNI_OnLoad
Do not call! Automatically invoked by the JVM. See “unsafe-manual-jni-load-unload” to override this behavior.
JNI_OnUnload
Do not call! Automatically invoked by the JVM. See “unsafe-manual-jni-load-unload” to override this behavior.

Type Aliases§

ArgumentRef
A Local, non-null, reference to a Java object (+ &Env).
GlobalRef
A Global, non-null, reference to a Java object (+ &Env).