// 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/JavaExceptionReporter #ifndef android_net_connectivity_org_chromium_base_JavaExceptionReporter_JNI #define android_net_connectivity_org_chromium_base_JavaExceptionReporter_JNI #include #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_JavaExceptionReporter[]; const char kClassPath_android_net_connectivity_org_chromium_base_JavaExceptionReporter[] = "android/net/connectivity/org/chromium/base/JavaExceptionReporter"; // Leaking this jclass as we cannot use LazyInstance from some threads. JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic g_android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz(nullptr); #ifndef android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz_defined #define android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz_defined inline jclass android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz(JNIEnv* env) { return base::android::LazyGetClass(env, kClassPath_android_net_connectivity_org_chromium_base_JavaExceptionReporter, &g_android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz); } #endif // Step 2: Constants (optional). // Step 3: Method stubs. namespace base { namespace android { static void JNI_JavaExceptionReporter_ReportJavaException(JNIEnv* env, jboolean crashAfterReport, const base::android::JavaParamRef& e); JNI_BOUNDARY_EXPORT void Java_android_net_connectivity_J_N_MXovmqyB( JNIEnv* env, jclass jcaller, jboolean crashAfterReport, jthrowable e) { return JNI_JavaExceptionReporter_ReportJavaException(env, crashAfterReport, base::android::JavaParamRef(env, e)); } static void JNI_JavaExceptionReporter_ReportJavaStackTrace(JNIEnv* env, const base::android::JavaParamRef& stackTrace); JNI_BOUNDARY_EXPORT void Java_android_net_connectivity_J_N_M4b2KkIz( JNIEnv* env, jclass jcaller, jstring stackTrace) { return JNI_JavaExceptionReporter_ReportJavaStackTrace(env, base::android::JavaParamRef(env, stackTrace)); } static std::atomic g_android_net_connectivity_org_chromium_base_JavaExceptionReporter_installHandler1(nullptr); static void Java_JavaExceptionReporter_installHandler(JNIEnv* env, jboolean crashAfterReport) { jclass clazz = android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz(env); CHECK_CLAZZ(env, clazz, android_net_connectivity_org_chromium_base_JavaExceptionReporter_clazz(env)); jni_generator::JniJavaCallContextChecked call_context; call_context.Init< base::android::MethodID::TYPE_STATIC>( env, clazz, "installHandler", "(Z)V", &g_android_net_connectivity_org_chromium_base_JavaExceptionReporter_installHandler1); env->CallStaticVoidMethod(clazz, call_context.base.method_id, crashAfterReport); } } // namespace android } // namespace base #endif // android_net_connectivity_org_chromium_base_JavaExceptionReporter_JNI