Home | History | Annotate | Download | only in app
      1 // Copyright (c) 2012 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 CONTENT_PUBLIC_APP_ANDROID_LIBRARY_LOADER_HOOKS_H_
      6 #define CONTENT_PUBLIC_APP_ANDROID_LIBRARY_LOADER_HOOKS_H_
      7 
      8 #include <jni.h>
      9 
     10 #include "base/basictypes.h"
     11 #include "content/common/content_export.h"
     12 
     13 namespace content {
     14 
     15 // Registers the callbacks that allows the entry point of the library to be
     16 // exposed to the calling java code.  This handles only registering the content
     17 // specific callbacks.  Any application specific JNI bindings should happen
     18 // once the native library has fully loaded.
     19 CONTENT_EXPORT bool RegisterLibraryLoaderEntryHook(JNIEnv* env);
     20 
     21 // Register all content JNI functions now, rather than waiting for the process
     22 // of fully loading the native library to complete.  This must only be called
     23 // during JNI_OnLoad.
     24 CONTENT_EXPORT bool EnsureJniRegistered(JNIEnv* env);
     25 
     26 // Pass the version name to Content. This used to check that the library version
     27 // matches the version expected by Java before completing JNI registration.
     28 // Note: argument must remain valid at least until library loading is complete.
     29 CONTENT_EXPORT void SetVersionNumber(const char* version_number);
     30 
     31 // Call on exit to delete the AtExitManager which OnLibraryLoadedOnUIThread
     32 // created.
     33 CONTENT_EXPORT void LibraryLoaderExitHook();
     34 
     35 }  // namespace content
     36 
     37 #endif  // CONTENT_PUBLIC_APP_ANDROID_LIBRARY_LOADER_HOOKS_H_
     38