1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file is autogenerated by
6//     base/android/jni_generator/jni_generator.py
7// For
8//     org/chromium/TestJni
9
10#ifndef org_chromium_TestJni_JNI
11#define org_chromium_TestJni_JNI
12
13#include <jni.h>
14
15#include "base/android/jni_generator/jni_generator_helper.h"
16
17#include "base/android/jni_int_wrapper.h"
18
19// Step 1: forward declarations.
20namespace {
21const char kTestJniClassPath[] = "org/chromium/TestJni";
22// Leaking this jclass as we cannot use LazyInstance from some threads.
23base::subtle::AtomicWord g_TestJni_clazz __attribute__((unused)) = 0;
24#define TestJni_clazz(env) base::android::LazyGetClass(env, kTestJniClassPath, &g_TestJni_clazz)
25
26}  // namespace
27
28// Step 2: method stubs.
29JNI_GENERATOR_EXPORT void Java_org_chromium_TestJni_nativeDestroy(JNIEnv* env,
30    jobject jcaller,
31    jlong nativeChromeBrowserProvider) {
32  ChromeBrowserProvider* native =
33      reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider);
34  CHECK_NATIVE_PTR(env, jcaller, native, "Destroy");
35  return native->Destroy(env, base::android::JavaParamRef<jobject>(env,
36      jcaller));
37}
38
39// Step 3: RegisterNatives.
40
41static const JNINativeMethod kMethodsTestJni[] = {
42    { "nativeDestroy",
43"("
44"J"
45")"
46"V", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeDestroy) },
47};
48
49static bool RegisterNativesImpl(JNIEnv* env) {
50  if (jni_generator::ShouldSkipJniRegistration(false))
51    return true;
52
53  const int kMethodsTestJniSize = arraysize(kMethodsTestJni);
54
55  if (env->RegisterNatives(TestJni_clazz(env),
56                           kMethodsTestJni,
57                           kMethodsTestJniSize) < 0) {
58    jni_generator::HandleRegistrationError(
59        env, TestJni_clazz(env), __FILE__);
60    return false;
61  }
62
63  return true;
64}
65
66#endif  // org_chromium_TestJni_JNI
67