5#ifndef FLUTTER_SHELL_PLATFORM_ANDROID_JNI_MOCK_JNI_ENV_H_
6#define FLUTTER_SHELL_PLATFORM_ANDROID_JNI_MOCK_JNI_ENV_H_
15 functions = &jni_invoke_;
17 jni_invoke_.DestroyJavaVM = DoDestroyJavaVM;
18 jni_invoke_.AttachCurrentThread = DoAttachCurrentThread;
19 jni_invoke_.DetachCurrentThread = DoDetachCurrentThread;
20 jni_invoke_.GetEnv = DoGetEnv;
21 jni_invoke_.AttachCurrentThreadAsDaemon = DoAttachCurrentThreadAsDaemon;
27 static jint DoDestroyJavaVM(JavaVM* vm) {
return JNI_OK; }
28 static jint DoAttachCurrentThread(JavaVM* vm,
33 static jint DoDetachCurrentThread(JavaVM* vm) {
return JNI_OK; }
34 static jint DoGetEnv(JavaVM* vm,
void** env, jint version) {
38 static jint DoAttachCurrentThreadAsDaemon(JavaVM* vm,
44 JNIEnv* env_ =
nullptr;
45 JNIInvokeInterface jni_invoke_;
54 jni_.CallObjectMethod = WrapCallObjectMethod;
55 jni_.CallObjectMethodV = WrapCallObjectMethodV;
56 jni_.DeleteGlobalRef = WrapDeleteGlobalRef;
57 jni_.DeleteLocalRef = WrapDeleteLocalRef;
58 jni_.ExceptionCheck = WrapExceptionCheck;
59 jni_.ExceptionClear = WrapExceptionClear;
60 jni_.ExceptionDescribe = WrapExceptionDescribe;
61 jni_.ExceptionOccurred = WrapExceptionOccurred;
62 jni_.FindClass = WrapFindClass;
63 jni_.GetFieldID = WrapGetFieldID;
64 jni_.GetMethodID = WrapGetMethodID;
65 jni_.GetObjectRefType = WrapGetObjectRefType;
66 jni_.GetStaticFieldID = WrapGetStaticFieldID;
67 jni_.GetStaticMethodID = WrapGetStaticMethodID;
68 jni_.NewGlobalRef = WrapNewGlobalRef;
69 jni_.NewLocalRef = WrapNewLocalRef;
70 jni_.RegisterNatives = WrapRegisterNatives;
81 virtual jfieldID
GetFieldID(jclass,
const char*,
const char*) = 0;
82 virtual jmethodID
GetMethodID(jclass,
const char*,
const char*) = 0;
91 static jobject WrapCallObjectMethod(JNIEnv* env,
96 va_start(
args, methodID);
97 jobject result = WrapCallObjectMethodV(env, obj, methodID,
args);
101 static jobject WrapCallObjectMethodV(JNIEnv* env,
108 static void WrapDeleteGlobalRef(JNIEnv* env, jobject globalRef) {
111 static void WrapDeleteLocalRef(JNIEnv* env, jobject localRef) {
114 static jboolean WrapExceptionCheck(JNIEnv* env) {
117 static void WrapExceptionClear(JNIEnv* env) {
120 static void WrapExceptionDescribe(JNIEnv* env) {
123 static jthrowable WrapExceptionOccurred(JNIEnv* env) {
126 static jclass WrapFindClass(JNIEnv* env,
const char*
name) {
129 static jfieldID WrapGetFieldID(JNIEnv* env,
135 static jmethodID WrapGetMethodID(JNIEnv* env,
141 static jobjectRefType WrapGetObjectRefType(JNIEnv* env, jobject obj) {
144 static jfieldID WrapGetStaticFieldID(JNIEnv* env,
151 static jmethodID WrapGetStaticMethodID(JNIEnv* env,
158 static jobject WrapNewGlobalRef(JNIEnv* env, jobject ref) {
161 static jobject WrapNewLocalRef(JNIEnv* env, jobject ref) {
164 static jint WrapRegisterNatives(JNIEnv* env,
166 const JNINativeMethod* methods,
172 JNINativeInterface jni_ = {};
179 (jobject, jmethodID, va_list),
190 (jclass,
const char*,
const char*),
194 (jclass,
const char*,
const char*),
199 (jclass,
const char*,
const char*),
203 (jclass,
const char*,
const char*),
209 (jclass,
const JNINativeMethod*, jint),
MOCK_METHOD(jboolean, ExceptionCheck,(),(override))
MOCK_METHOD(jobject, CallObjectMethodV,(jobject, jmethodID, va_list),(override))
MOCK_METHOD(jclass, FindClass,(const char *),(override))
MOCK_METHOD(jobjectRefType, GetObjectRefType,(jobject),(override))
MOCK_METHOD(jfieldID, GetStaticFieldID,(jclass, const char *, const char *),(override))
MOCK_METHOD(void, ExceptionClear,(),(override))
MOCK_METHOD(jobject, NewGlobalRef,(jobject),(override))
MOCK_METHOD(jfieldID, GetFieldID,(jclass, const char *, const char *),(override))
MOCK_METHOD(jint, RegisterNatives,(jclass, const JNINativeMethod *, jint),(override))
MOCK_METHOD(jmethodID, GetStaticMethodID,(jclass, const char *, const char *),(override))
MOCK_METHOD(void, DeleteGlobalRef,(jobject),(override))
MOCK_METHOD(void, ExceptionDescribe,(),(override))
MOCK_METHOD(jmethodID, GetMethodID,(jclass, const char *, const char *),(override))
MOCK_METHOD(void, DeleteLocalRef,(jobject),(override))
MOCK_METHOD(jobject, NewLocalRef,(jobject),(override))
MOCK_METHOD(jthrowable, ExceptionOccurred,(),(override))
void SetJNIEnv(JNIEnv *env)
virtual jint RegisterNatives(jclass, const JNINativeMethod *, jint)=0
virtual jobject NewGlobalRef(jobject)=0
virtual jobject CallObjectMethodV(jobject, jmethodID, va_list)=0
virtual void DeleteLocalRef(jobject)=0
virtual jthrowable ExceptionOccurred()=0
virtual jclass FindClass(const char *)=0
virtual jobjectRefType GetObjectRefType(jobject)=0
virtual void ExceptionDescribe()=0
virtual jfieldID GetFieldID(jclass, const char *, const char *)=0
virtual jfieldID GetStaticFieldID(jclass, const char *, const char *)=0
virtual jobject NewLocalRef(jobject)=0
virtual jmethodID GetMethodID(jclass, const char *, const char *)=0
virtual void ExceptionClear()=0
virtual jmethodID GetStaticMethodID(jclass, const char *, const char *)=0
virtual jboolean ExceptionCheck()=0
virtual void DeleteGlobalRef(jobject)=0
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
DEF_SWITCHES_START aot vmservice shared library name