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