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 28// Step 2: method stubs. 29 30static jint Init(JNIEnv* env, const JavaParamRef<jobject>& jcaller); 31 32static jint Java_org_chromium_TestJni_nativeInit(JNIEnv* env, jobject jcaller) { 33 return Init(env, JavaParamRef<jobject>(env, jcaller)); 34} 35 36static void Java_org_chromium_TestJni_nativeDestroy(JNIEnv* env, 37 jobject jcaller, 38 jint nativeChromeBrowserProvider) { 39 ChromeBrowserProvider* native = 40 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 41 CHECK_NATIVE_PTR(env, jcaller, native, "Destroy"); 42 return native->Destroy(env, JavaParamRef<jobject>(env, jcaller)); 43} 44 45static jlong Java_org_chromium_TestJni_nativeAddBookmark(JNIEnv* env, 46 jobject jcaller, 47 jint nativeChromeBrowserProvider, 48 jstring url, 49 jstring title, 50 jboolean isFolder, 51 jlong parentId) { 52 ChromeBrowserProvider* native = 53 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 54 CHECK_NATIVE_PTR(env, jcaller, native, "AddBookmark", 0); 55 return native->AddBookmark(env, JavaParamRef<jobject>(env, jcaller), 56 JavaParamRef<jstring>(env, url), JavaParamRef<jstring>(env, title), 57 isFolder, parentId); 58} 59 60static ScopedJavaLocalRef<jstring> GetDomainAndRegistry(JNIEnv* env, const 61 JavaParamRef<jclass>& jcaller, 62 const JavaParamRef<jstring>& url); 63 64static jstring Java_org_chromium_TestJni_nativeGetDomainAndRegistry(JNIEnv* env, 65 jclass jcaller, 66 jstring url) { 67 return GetDomainAndRegistry(env, JavaParamRef<jclass>(env, jcaller), 68 JavaParamRef<jstring>(env, url)).Release(); 69} 70 71static void CreateHistoricalTabFromState(JNIEnv* env, const 72 JavaParamRef<jclass>& jcaller, 73 const JavaParamRef<jbyteArray>& state, 74 jint tab_index); 75 76static void Java_org_chromium_TestJni_nativeCreateHistoricalTabFromState(JNIEnv* 77 env, jclass jcaller, 78 jbyteArray state, 79 jint tab_index) { 80 return CreateHistoricalTabFromState(env, JavaParamRef<jclass>(env, jcaller), 81 JavaParamRef<jbyteArray>(env, state), tab_index); 82} 83 84static ScopedJavaLocalRef<jbyteArray> GetStateAsByteArray(JNIEnv* env, const 85 JavaParamRef<jobject>& jcaller, 86 const JavaParamRef<jobject>& view); 87 88static jbyteArray Java_org_chromium_TestJni_nativeGetStateAsByteArray(JNIEnv* 89 env, jobject jcaller, 90 jobject view) { 91 return GetStateAsByteArray(env, JavaParamRef<jobject>(env, jcaller), 92 JavaParamRef<jobject>(env, view)).Release(); 93} 94 95static ScopedJavaLocalRef<jobjectArray> GetAutofillProfileGUIDs(JNIEnv* env, 96 const JavaParamRef<jclass>& jcaller); 97 98static jobjectArray 99 Java_org_chromium_TestJni_nativeGetAutofillProfileGUIDs(JNIEnv* env, jclass 100 jcaller) { 101 return GetAutofillProfileGUIDs(env, JavaParamRef<jclass>(env, 102 jcaller)).Release(); 103} 104 105static void SetRecognitionResults(JNIEnv* env, const JavaParamRef<jobject>& 106 jcaller, 107 jint sessionId, 108 const JavaParamRef<jobjectArray>& results); 109 110static void Java_org_chromium_TestJni_nativeSetRecognitionResults(JNIEnv* env, 111 jobject jcaller, 112 jint sessionId, 113 jobjectArray results) { 114 return SetRecognitionResults(env, JavaParamRef<jobject>(env, jcaller), 115 sessionId, JavaParamRef<jobjectArray>(env, results)); 116} 117 118static jlong Java_org_chromium_TestJni_nativeAddBookmarkFromAPI(JNIEnv* env, 119 jobject jcaller, 120 jint nativeChromeBrowserProvider, 121 jstring url, 122 jobject created, 123 jobject isBookmark, 124 jobject date, 125 jbyteArray favicon, 126 jstring title, 127 jobject visits) { 128 ChromeBrowserProvider* native = 129 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 130 CHECK_NATIVE_PTR(env, jcaller, native, "AddBookmarkFromAPI", 0); 131 return native->AddBookmarkFromAPI(env, JavaParamRef<jobject>(env, jcaller), 132 JavaParamRef<jstring>(env, url), JavaParamRef<jobject>(env, created), 133 JavaParamRef<jobject>(env, isBookmark), JavaParamRef<jobject>(env, date), 134 JavaParamRef<jbyteArray>(env, favicon), JavaParamRef<jstring>(env, title), 135 JavaParamRef<jobject>(env, visits)); 136} 137 138static jint FindAll(JNIEnv* env, const JavaParamRef<jobject>& jcaller, 139 const JavaParamRef<jstring>& find); 140 141static jint Java_org_chromium_TestJni_nativeFindAll(JNIEnv* env, jobject 142 jcaller, 143 jstring find) { 144 return FindAll(env, JavaParamRef<jobject>(env, jcaller), 145 JavaParamRef<jstring>(env, find)); 146} 147 148static ScopedJavaLocalRef<jobject> GetInnerClass(JNIEnv* env, const 149 JavaParamRef<jclass>& jcaller); 150 151static jobject Java_org_chromium_TestJni_nativeGetInnerClass(JNIEnv* env, jclass 152 jcaller) { 153 return GetInnerClass(env, JavaParamRef<jclass>(env, jcaller)).Release(); 154} 155 156static jobject Java_org_chromium_TestJni_nativeQueryBitmap(JNIEnv* env, 157 jobject jcaller, 158 jint nativeChromeBrowserProvider, 159 jobjectArray projection, 160 jstring selection, 161 jobjectArray selectionArgs, 162 jstring sortOrder) { 163 ChromeBrowserProvider* native = 164 reinterpret_cast<ChromeBrowserProvider*>(nativeChromeBrowserProvider); 165 CHECK_NATIVE_PTR(env, jcaller, native, "QueryBitmap", NULL); 166 return native->QueryBitmap(env, JavaParamRef<jobject>(env, jcaller), 167 JavaParamRef<jobjectArray>(env, projection), JavaParamRef<jstring>(env, 168 selection), JavaParamRef<jobjectArray>(env, selectionArgs), 169 JavaParamRef<jstring>(env, sortOrder)).Release(); 170} 171 172static void Java_org_chromium_TestJni_nativeGotOrientation(JNIEnv* env, 173 jobject jcaller, 174 jint nativeDataFetcherImplAndroid, 175 jdouble alpha, 176 jdouble beta, 177 jdouble gamma) { 178 DataFetcherImplAndroid* native = 179 reinterpret_cast<DataFetcherImplAndroid*>(nativeDataFetcherImplAndroid); 180 CHECK_NATIVE_PTR(env, jcaller, native, "GotOrientation"); 181 return native->GotOrientation(env, JavaParamRef<jobject>(env, jcaller), alpha, 182 beta, gamma); 183} 184 185static ScopedJavaLocalRef<jthrowable> MessWithJavaException(JNIEnv* env, const 186 JavaParamRef<jclass>& jcaller, 187 const JavaParamRef<jthrowable>& e); 188 189static jthrowable Java_org_chromium_TestJni_nativeMessWithJavaException(JNIEnv* 190 env, jclass jcaller, 191 jthrowable e) { 192 return MessWithJavaException(env, JavaParamRef<jclass>(env, jcaller), 193 JavaParamRef<jthrowable>(env, e)).Release(); 194} 195 196// Step 3: RegisterNatives. 197 198static const JNINativeMethod kMethodsTestJni[] = { 199 { "nativeInit", 200"(" 201")" 202"I", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeInit) }, 203 { "nativeDestroy", 204"(" 205"I" 206")" 207"V", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeDestroy) }, 208 { "nativeAddBookmark", 209"(" 210"I" 211"Ljava/lang/String;" 212"Ljava/lang/String;" 213"Z" 214"J" 215")" 216"J", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeAddBookmark) }, 217 { "nativeGetDomainAndRegistry", 218"(" 219"Ljava/lang/String;" 220")" 221"Ljava/lang/String;", 222 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeGetDomainAndRegistry) 223 }, 224 { "nativeCreateHistoricalTabFromState", 225"(" 226"[B" 227"I" 228")" 229"V", 230 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeCreateHistoricalTabFromState) 231 }, 232 { "nativeGetStateAsByteArray", 233"(" 234"Landroid/view/View;" 235")" 236"[B", 237 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeGetStateAsByteArray) 238 }, 239 { "nativeGetAutofillProfileGUIDs", 240"(" 241")" 242"[Ljava/lang/String;", 243 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeGetAutofillProfileGUIDs) 244 }, 245 { "nativeSetRecognitionResults", 246"(" 247"I" 248"[Ljava/lang/String;" 249")" 250"V", 251 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeSetRecognitionResults) 252 }, 253 { "nativeAddBookmarkFromAPI", 254"(" 255"I" 256"Ljava/lang/String;" 257"Ljava/lang/Long;" 258"Ljava/lang/Boolean;" 259"Ljava/lang/Long;" 260"[B" 261"Ljava/lang/String;" 262"Ljava/lang/Integer;" 263")" 264"J", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeAddBookmarkFromAPI) 265 }, 266 { "nativeFindAll", 267"(" 268"Ljava/lang/String;" 269")" 270"I", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeFindAll) }, 271 { "nativeGetInnerClass", 272"(" 273")" 274"Lorg/chromium/example/jni_generator/SampleForTests$OnFrameAvailableListener;", 275 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeGetInnerClass) }, 276 { "nativeQueryBitmap", 277"(" 278"I" 279"[Ljava/lang/String;" 280"Ljava/lang/String;" 281"[Ljava/lang/String;" 282"Ljava/lang/String;" 283")" 284"Landroid/graphics/Bitmap;", 285 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeQueryBitmap) }, 286 { "nativeGotOrientation", 287"(" 288"I" 289"D" 290"D" 291"D" 292")" 293"V", reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeGotOrientation) }, 294 { "nativeMessWithJavaException", 295"(" 296"Ljava/lang/Throwable;" 297")" 298"Ljava/lang/Throwable;", 299 reinterpret_cast<void*>(Java_org_chromium_TestJni_nativeMessWithJavaException) 300 }, 301}; 302 303static bool RegisterNativesImpl(JNIEnv* env) { 304 305 g_TestJni_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( 306 base::android::GetClass(env, kTestJniClassPath).obj())); 307 308 const int kMethodsTestJniSize = arraysize(kMethodsTestJni); 309 310 if (env->RegisterNatives(TestJni_clazz(env), 311 kMethodsTestJni, 312 kMethodsTestJniSize) < 0) { 313 jni_generator::HandleRegistrationError( 314 env, TestJni_clazz(env), __FILE__); 315 return false; 316 } 317 318 return true; 319} 320 321#endif // org_chromium_TestJni_JNI 322