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. 23jclass g_TestJni_clazz = NULL; 24#define TestJni_clazz(env) g_TestJni_clazz 25 26} // namespace 27 28static jint Init(JNIEnv* env, jobject jcaller); 29 30static jstring GetDomainAndRegistry(JNIEnv* env, jclass jcaller, 31 jstring url); 32 33static void CreateHistoricalTabFromState(JNIEnv* env, jclass jcaller, 34 jbyteArray state, 35 jint tab_index); 36 37static jbyteArray GetStateAsByteArray(JNIEnv* env, jobject jcaller, 38 jobject view); 39 40static jobjectArray GetAutofillProfileGUIDs(JNIEnv* env, jclass jcaller); 41 42static void SetRecognitionResults(JNIEnv* env, jobject jcaller, 43 jint sessionId, 44 jobjectArray results); 45 46static jint FindAll(JNIEnv* env, jobject jcaller, 47 jstring find); 48 49static jobject GetInnerClass(JNIEnv* env, jclass jcaller); 50 51// Step 2: method stubs. 52static void Destroy(JNIEnv* env, jobject jcaller, 53 jint nativeChromeBrowserProvider) { 54 ChromeBrowserProvider* native = 55 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 56 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy"); 57 return native->Destroy(env, jcaller); 58} 59 60static jlong AddBookmark(JNIEnv* env, jobject jcaller, 61 jint nativeChromeBrowserProvider, 62 jstring url, 63 jstring title, 64 jboolean isFolder, 65 jlong parentId) { 66 ChromeBrowserProvider* native = 67 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 68 CHECK_NATIVE_PTR(env, jcaller, native, "AddBookmark", 0); 69 return native->AddBookmark(env, jcaller, url, title, isFolder, parentId); 70} 71 72static jlong AddBookmarkFromAPI(JNIEnv* env, jobject jcaller, 73 jint nativeChromeBrowserProvider, 74 jstring url, 75 jobject created, 76 jobject isBookmark, 77 jobject date, 78 jbyteArray favicon, 79 jstring title, 80 jobject visits) { 81 ChromeBrowserProvider* native = 82 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 83 CHECK_NATIVE_PTR(env, jcaller, native, "AddBookmarkFromAPI", 0); 84 return native->AddBookmarkFromAPI(env, jcaller, url, created, isBookmark, 85 date, favicon, title, visits); 86} 87 88static jobject QueryBitmap(JNIEnv* env, jobject jcaller, 89 jint nativeChromeBrowserProvider, 90 jobjectArray projection, 91 jstring selection, 92 jobjectArray selectionArgs, 93 jstring sortOrder) { 94 ChromeBrowserProvider* native = 95 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 96 CHECK_NATIVE_PTR(env, jcaller, native, "QueryBitmap", NULL); 97 return native->QueryBitmap(env, jcaller, projection, selection, selectionArgs, 98 sortOrder).Release(); 99} 100 101static void GotOrientation(JNIEnv* env, jobject jcaller, 102 jint nativeDataFetcherImplAndroid, 103 jdouble alpha, 104 jdouble beta, 105 jdouble gamma) { 106 DataFetcherImplAndroid* native = 107 reinterpret_cast<DataFetcherImplAndroid*>(nativeDataFetcherImplAndroid); 108 CHECK_NATIVE_PTR(env, jcaller, native, "GotOrientation"); 109 return native->GotOrientation(env, jcaller, alpha, beta, gamma); 110} 111 112// Step 3: RegisterNatives. 113 114static const JNINativeMethod kMethodsTestJni[] = { 115 { "nativeInit", 116"(" 117")" 118"I", reinterpret_cast<void*>(Init) }, 119 { "nativeDestroy", 120"(" 121"I" 122")" 123"V", reinterpret_cast<void*>(Destroy) }, 124 { "nativeAddBookmark", 125"(" 126"I" 127"Ljava/lang/String;" 128"Ljava/lang/String;" 129"Z" 130"J" 131")" 132"J", reinterpret_cast<void*>(AddBookmark) }, 133 { "nativeGetDomainAndRegistry", 134"(" 135"Ljava/lang/String;" 136")" 137"Ljava/lang/String;", reinterpret_cast<void*>(GetDomainAndRegistry) }, 138 { "nativeCreateHistoricalTabFromState", 139"(" 140"[B" 141"I" 142")" 143"V", reinterpret_cast<void*>(CreateHistoricalTabFromState) }, 144 { "nativeGetStateAsByteArray", 145"(" 146"Landroid/view/View;" 147")" 148"[B", reinterpret_cast<void*>(GetStateAsByteArray) }, 149 { "nativeGetAutofillProfileGUIDs", 150"(" 151")" 152"[Ljava/lang/String;", reinterpret_cast<void*>(GetAutofillProfileGUIDs) }, 153 { "nativeSetRecognitionResults", 154"(" 155"I" 156"[Ljava/lang/String;" 157")" 158"V", reinterpret_cast<void*>(SetRecognitionResults) }, 159 { "nativeAddBookmarkFromAPI", 160"(" 161"I" 162"Ljava/lang/String;" 163"Ljava/lang/Long;" 164"Ljava/lang/Boolean;" 165"Ljava/lang/Long;" 166"[B" 167"Ljava/lang/String;" 168"Ljava/lang/Integer;" 169")" 170"J", reinterpret_cast<void*>(AddBookmarkFromAPI) }, 171 { "nativeFindAll", 172"(" 173"Ljava/lang/String;" 174")" 175"I", reinterpret_cast<void*>(FindAll) }, 176 { "nativeGetInnerClass", 177"(" 178")" 179"Lorg/chromium/example/jni_generator/SampleForTests$OnFrameAvailableListener;", 180 reinterpret_cast<void*>(GetInnerClass) }, 181 { "nativeQueryBitmap", 182"(" 183"I" 184"[Ljava/lang/String;" 185"Ljava/lang/String;" 186"[Ljava/lang/String;" 187"Ljava/lang/String;" 188")" 189"Landroid/graphics/Bitmap;", reinterpret_cast<void*>(QueryBitmap) }, 190 { "nativeGotOrientation", 191"(" 192"I" 193"D" 194"D" 195"D" 196")" 197"V", reinterpret_cast<void*>(GotOrientation) }, 198}; 199 200static bool RegisterNativesImpl(JNIEnv* env) { 201 g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( 202 base::android::GetClass(env, kTestJniClassPath).obj())); 203 204 const int kMethodsTestJniSize = arraysize(kMethodsTestJni); 205 206 if (env->RegisterNatives(TestJni_clazz(env), 207 kMethodsTestJni, 208 kMethodsTestJniSize) < 0) { 209 jni_generator::HandleRegistrationError( 210 env, TestJni_clazz(env), __FILE__); 211 return false; 212 } 213 214 return true; 215} 216 217#endif // org_chromium_TestJni_JNI 218