1 // Copyright 2015 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 #ifndef BASE_ANDROID_BASE_JNI_ONLOAD_H_ 6 #define BASE_ANDROID_BASE_JNI_ONLOAD_H_ 7 8 #include <jni.h> 9 #include <vector> 10 11 #include "base/base_export.h" 12 #include "base/callback.h" 13 14 namespace base { 15 namespace android { 16 17 // Returns whether JNI registration succeeded. Caller shall put the 18 // RegisterCallback into |callbacks| in reverse order. 19 typedef base::Callback<bool(JNIEnv*)> RegisterCallback; 20 BASE_EXPORT bool OnJNIOnLoadRegisterJNI( 21 JavaVM* vm, 22 std::vector<RegisterCallback> callbacks); 23 24 // Returns whether initialization succeeded. Caller shall put the 25 // InitCallback into |callbacks| in reverse order. 26 typedef base::Callback<bool(void)> InitCallback; 27 BASE_EXPORT bool OnJNIOnLoadInit(std::vector<InitCallback> callbacks); 28 29 } // namespace android 30 } // namespace base 31 32 #endif // BASE_ANDROID_BASE_JNI_ONLOAD_H_ 33