| OLD | NEW | 
| (Empty) |  | 
 |   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_JNI_ONLOAD_DELEGATE_H_ | 
 |   6 #define BASE_ANDROID_JNI_ONLOAD_DELEGATE_H_ | 
 |   7  | 
 |   8 #include <jni.h> | 
 |   9  | 
 |  10 #include "base/base_export.h" | 
 |  11  | 
 |  12 namespace base { | 
 |  13 namespace android { | 
 |  14  | 
 |  15 // This delegate class is used to implement component specific JNI registration | 
 |  16 // and initialization. All methods are called in JNI_OnLoad(). | 
 |  17 // | 
 |  18 // Both RegisterJNI() and Init() methods are called if the shared library | 
 |  19 // is loaded by crazy linker that can't find JNI methods without JNI | 
 |  20 // registration, otherwise, only Init() is invoked where dynamic lookup is | 
 |  21 // used to find the JNI methods. | 
 |  22 // | 
 |  23 // It is important to make sure the JNI registration code is only in | 
 |  24 // RegisterJNI(), so it could be stripped out when JNI registration isn't | 
 |  25 // needed. | 
 |  26 class BASE_EXPORT JNIOnLoadDelegate { | 
 |  27  public: | 
 |  28   virtual ~JNIOnLoadDelegate() {} | 
 |  29  | 
 |  30   // Returns whether the JNI registration succeeded. | 
 |  31   virtual bool RegisterJNI(JNIEnv* env) = 0; | 
 |  32  | 
 |  33   // Returns whether the initialization succeeded. This method is called after | 
 |  34   // RegisterJNI(), all JNI methods shall ready to be used. | 
 |  35   virtual bool Init() = 0; | 
 |  36 }; | 
 |  37  | 
 |  38 }  // namespace android | 
 |  39 }  // namespace base | 
 |  40  | 
 |  41 #endif  // BASE_ANDROID_JNI_ONLOAD_DELEGATE_H_ | 
| OLD | NEW |