• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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";
22const char kMyInnerClassClassPath[] = "org/chromium/TestJni$MyInnerClass";
23// Leaking this jclass as we cannot use LazyInstance from some threads.
24jclass g_TestJni_clazz = NULL;
25#define TestJni_clazz(env) g_TestJni_clazz
26
27}  // namespace
28
29// Step 2: method stubs.
30
31static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller);
32
33static jint Java_org_chromium_TestJni_00024MyInnerClass_nativeInit(JNIEnv* env,
34    jobject jcaller) {
35  return Init(env, JavaParamRef<jobject>(env, jcaller));
36}
37
38// Step 3: RegisterNatives.
39
40static const JNINativeMethod kMethodsMyInnerClass[] = {
41    { "nativeInit",
42"("
43")"
44"I",
45    reinterpret_cast<void*>(Java_org_chromium_TestJni_00024MyInnerClass_nativeInit)
46    },
47};
48
49static bool RegisterNativesImpl(JNIEnv* env) {
50
51  g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
52      base::android::GetClass(env, kTestJniClassPath).obj()));
53
54  const int kMethodsMyInnerClassSize = arraysize(kMethodsMyInnerClass);
55
56  if (env->RegisterNatives(MyInnerClass_clazz(env),
57                           kMethodsMyInnerClass,
58                           kMethodsMyInnerClassSize) < 0) {
59    jni_generator::HandleRegistrationError(
60        env, MyInnerClass_clazz(env), __FILE__);
61    return false;
62  }
63
64  return true;
65}
66
67#endif  // org_chromium_TestJni_JNI
68