jni

package module
v0.0.0-...-b380472 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2020 License: BSD-3-Clause Imports: 7 Imported by: 0

README

JNI

A JNI library cloned from github.com/tailscale/tailscale-android.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CallIntMethod

func CallIntMethod(e Env, obj Object, method MethodID, args ...Value) (int32, error)

func CallStaticIntMethod

func CallStaticIntMethod(e Env, cls Class, method MethodID, args ...Value) (int, error)

func CallStaticVoidMethod

func CallStaticVoidMethod(e Env, cls Class, method MethodID, args ...Value) error

func CallVoidMethod

func CallVoidMethod(e Env, obj Object, method MethodID, args ...Value) error

func DeleteGlobalRef

func DeleteGlobalRef(e Env, obj Object)

func Do

func Do(vm JVM, f func(env Env) error) error

Do invokes a function with a temporary JVM environment. The environment is not valid after the function returns.

func GetByteArrayElements

func GetByteArrayElements(e Env, jarr ByteArray) []byte

GetByteArrayElements returns the contents of the array.

func GetStaticBooleanField

func GetStaticBooleanField(env Env, clazz Class, fieldID FieldID) bool

GetStaticBooleanField looks up the value of a static field of type boolean. It panics if it is unable to find the field.

func GetStaticByteField

func GetStaticByteField(env Env, clazz Class, fieldID FieldID) byte

GetStaticByteField looks up the value of a static field of type byte. It panics if it is unable to find the field.

func GetStaticCharField

func GetStaticCharField(env Env, clazz Class, fieldID FieldID) byte

GetStaticCharField looks up the value of a static field of type char. It panics if it is unable to find the field.

func GetStaticDoubleField

func GetStaticDoubleField(env Env, clazz Class, fieldID FieldID) float64

GetStaticDoubleField looks up the value of a static field of type double. It panics if it is unable to find the field.

func GetStaticFloatField

func GetStaticFloatField(env Env, clazz Class, fieldID FieldID) float32

GetStaticFloatField looks up the value of a static field of type float. It panics if it is unable to find the field.

func GetStaticIntField

func GetStaticIntField(env Env, clazz Class, fieldID FieldID) int32

GetStaticIntField looks up the value of a static field of type int. It panics if it is unable to find the field.

func GetStaticLongField

func GetStaticLongField(env Env, clazz Class, fieldID FieldID) int64

GetStaticLongField looks up the value of a static field of type long. It panics if it is unable to find the field.

func GetStaticShortField

func GetStaticShortField(env Env, clazz Class, fieldID FieldID) int16

GetStaticShortField looks up the value of a static field of type short. It panics if it is unable to find the field.

func GoString

func GoString(e Env, str String) string

GoString converts the JVM jstring to a Go string.

func IsSameObject

func IsSameObject(e Env, ref1, ref2 Object) bool

Types

type ByteArray

type ByteArray C.jbyteArray

func NewByteArray

func NewByteArray(e Env, content []byte) ByteArray

NewByteArray allocates a Java byte array with the content. It panics if the allocation fails.

type Class

type Class C.jclass

func GetObjectClass

func GetObjectClass(e Env, obj Object) Class

GetObjectClass returns the Java Class for an Object.

func LoadClass

func LoadClass(e Env, loader Object, class string) (Class, error)

LoadClass invokes the underlying ClassLoader's loadClass method and returns the class.

type Env

type Env struct {
	// contains filtered or unexported fields
}

func EnvFor

func EnvFor(envPtr uintptr) Env

type FieldID

type FieldID C.jfieldID

func GetStaticFieldID

func GetStaticFieldID(e Env, cls Class, name, signature string) FieldID

GetStaticFieldID returns the id for a static field. It panics if the field wasn't found.

type JVM

type JVM struct {
	// contains filtered or unexported fields
}

func JVMFor

func JVMFor(jvmPtr uintptr) JVM

type MethodID

type MethodID C.jmethodID

func GetMethodID

func GetMethodID(e Env, cls Class, name, signature string) MethodID

GetMethodID returns the id for a method. It panics if the method wasn't found.

func GetStaticMethodID

func GetStaticMethodID(e Env, cls Class, name, signature string) MethodID

GetStaticMethodID returns the id for a static method. It panics if the method wasn't found.

type Object

type Object C.jobject

func CallObjectMethod

func CallObjectMethod(e Env, obj Object, method MethodID, args ...Value) (Object, error)

func CallStaticObjectMethod

func CallStaticObjectMethod(e Env, cls Class, method MethodID, args ...Value) (Object, error)

func ClassLoaderFor

func ClassLoaderFor(e Env, obj Object) Object

ClassLoader returns a reference to the Java ClassLoader associated with obj.

func GetStaticObjectField

func GetStaticObjectField(env Env, clazz Class, fieldID FieldID) Object

GetStaticObjectField looks up the value of a static field of type Object. It panics if it is unable to find the field.

func NewGlobalRef

func NewGlobalRef(e Env, obj Object) Object

type String

type String C.jstring

func JavaString

func JavaString(e Env, str string) String

JavaString converts the string to a JVM jstring.

type Value

type Value uint64 // All JNI types fit into 64-bits.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL