93 lines
3.7 KiB
C
93 lines
3.7 KiB
C
![]() |
// Copyright 2014 The Chromium Authors
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
|
||
|
// This file is autogenerated by
|
||
|
// third_party/jni_zero/jni_generator.py
|
||
|
// For
|
||
|
// android/net/connectivity/org/chromium/base/JniAndroid
|
||
|
|
||
|
#ifndef android_net_connectivity_org_chromium_base_JniAndroid_JNI
|
||
|
#define android_net_connectivity_org_chromium_base_JniAndroid_JNI
|
||
|
|
||
|
#include <jni.h>
|
||
|
|
||
|
#include "third_party/jni_zero/jni_export.h"
|
||
|
#include "third_party/jni_zero/jni_zero_helper.h"
|
||
|
|
||
|
|
||
|
// Step 1: Forward declarations.
|
||
|
|
||
|
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
|
||
|
kClassPath_android_net_connectivity_org_chromium_base_JniAndroid[];
|
||
|
const char kClassPath_android_net_connectivity_org_chromium_base_JniAndroid[] =
|
||
|
"android/net/connectivity/org/chromium/base/JniAndroid";
|
||
|
// Leaking this jclass as we cannot use LazyInstance from some threads.
|
||
|
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
|
||
|
g_android_net_connectivity_org_chromium_base_JniAndroid_clazz(nullptr);
|
||
|
#ifndef android_net_connectivity_org_chromium_base_JniAndroid_clazz_defined
|
||
|
#define android_net_connectivity_org_chromium_base_JniAndroid_clazz_defined
|
||
|
inline jclass android_net_connectivity_org_chromium_base_JniAndroid_clazz(JNIEnv* env) {
|
||
|
return base::android::LazyGetClass(env,
|
||
|
kClassPath_android_net_connectivity_org_chromium_base_JniAndroid,
|
||
|
&g_android_net_connectivity_org_chromium_base_JniAndroid_clazz);
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
|
||
|
// Step 2: Constants (optional).
|
||
|
|
||
|
|
||
|
// Step 3: Method stubs.
|
||
|
|
||
|
static std::atomic<jmethodID>
|
||
|
g_android_net_connectivity_org_chromium_base_JniAndroid_handleException2(nullptr);
|
||
|
static base::android::ScopedJavaLocalRef<jthrowable> Java_JniAndroid_handleException(JNIEnv* env,
|
||
|
const base::android::JavaRef<jthrowable>& throwable,
|
||
|
const base::android::JavaRef<jstring>& nativeStackTrace) {
|
||
|
jclass clazz = android_net_connectivity_org_chromium_base_JniAndroid_clazz(env);
|
||
|
CHECK_CLAZZ(env, clazz,
|
||
|
android_net_connectivity_org_chromium_base_JniAndroid_clazz(env), nullptr);
|
||
|
|
||
|
jni_generator::JniJavaCallContextChecked call_context;
|
||
|
call_context.Init<
|
||
|
base::android::MethodID::TYPE_STATIC>(
|
||
|
env,
|
||
|
clazz,
|
||
|
"handleException",
|
||
|
"(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Throwable;",
|
||
|
&g_android_net_connectivity_org_chromium_base_JniAndroid_handleException2);
|
||
|
|
||
|
jthrowable ret =
|
||
|
static_cast<jthrowable>(env->CallStaticObjectMethod(clazz,
|
||
|
call_context.base.method_id, throwable.obj(), nativeStackTrace.obj()));
|
||
|
return base::android::ScopedJavaLocalRef<jthrowable>(env, ret);
|
||
|
}
|
||
|
|
||
|
static std::atomic<jmethodID>
|
||
|
g_android_net_connectivity_org_chromium_base_JniAndroid_sanitizedStacktraceForUnhandledException1(nullptr);
|
||
|
static base::android::ScopedJavaLocalRef<jstring>
|
||
|
Java_JniAndroid_sanitizedStacktraceForUnhandledException(JNIEnv* env, const
|
||
|
base::android::JavaRef<jthrowable>& throwable) {
|
||
|
jclass clazz = android_net_connectivity_org_chromium_base_JniAndroid_clazz(env);
|
||
|
CHECK_CLAZZ(env, clazz,
|
||
|
android_net_connectivity_org_chromium_base_JniAndroid_clazz(env), nullptr);
|
||
|
|
||
|
jni_generator::JniJavaCallContextChecked call_context;
|
||
|
call_context.Init<
|
||
|
base::android::MethodID::TYPE_STATIC>(
|
||
|
env,
|
||
|
clazz,
|
||
|
"sanitizedStacktraceForUnhandledException",
|
||
|
"(Ljava/lang/Throwable;)Ljava/lang/String;",
|
||
|
&g_android_net_connectivity_org_chromium_base_JniAndroid_sanitizedStacktraceForUnhandledException1);
|
||
|
|
||
|
jstring ret =
|
||
|
static_cast<jstring>(env->CallStaticObjectMethod(clazz,
|
||
|
call_context.base.method_id, throwable.obj()));
|
||
|
return base::android::ScopedJavaLocalRef<jstring>(env, ret);
|
||
|
}
|
||
|
|
||
|
#endif // android_net_connectivity_org_chromium_base_JniAndroid_JNI
|