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 // java/util/HashSet 9 10 #ifndef java_util_HashSet_JNI 11 #define java_util_HashSet_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. 20 namespace { 21 const char kHashSetClassPath[] = "java/util/HashSet"; 22 // Leaking this jclass as we cannot use LazyInstance from some threads. 23 jclass g_HashSet_clazz = NULL; 24 #define HashSet_clazz(env) g_HashSet_clazz 25 26 } // namespace 27 28 namespace JNI_HashSet { 29 30 // Step 2: method stubs. 31 32 static base::subtle::AtomicWord g_HashSet_dummy = 0; 33 static void Java_HashSet_dummy(JNIEnv* env, jobject obj) __attribute__ 34 ((unused)); 35 static void Java_HashSet_dummy(JNIEnv* env, jobject obj) { 36 /* Must call RegisterNativesImpl() */ 37 CHECK_CLAZZ(env, obj, 38 HashSet_clazz(env)); 39 jmethodID method_id = 40 base::android::MethodID::LazyGet< 41 base::android::MethodID::TYPE_INSTANCE>( 42 env, HashSet_clazz(env), 43 "dummy", 44 "()V", 45 &g_HashSet_dummy); 46 47 env->CallVoidMethod(obj, 48 method_id); 49 jni_generator::CheckException(env); 50 51 } 52 53 // Step 3: RegisterNatives. 54 55 static bool RegisterNativesImpl(JNIEnv* env) { 56 g_HashSet_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( 57 base::android::GetClass(env, kHashSetClassPath).obj())); 58 59 return true; 60 } 61 62 } // namespace JNI_HashSet 63 64 #endif // java_util_HashSet_JNI 65