| Index: base/android/library_loader/library_loader_hooks.h
|
| diff --git a/base/android/library_loader/library_loader_hooks.h b/base/android/library_loader/library_loader_hooks.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..06709f6ba9e49711c708609c3bff6b25bcd223dc
|
| --- /dev/null
|
| +++ b/base/android/library_loader/library_loader_hooks.h
|
| @@ -0,0 +1,51 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef BASE_ANDROID_LIBRARY_LOADER_HOOKS_H_
|
| +#define BASE_ANDROID_LIBRARY_LOADER_HOOKS_H_
|
| +
|
| +#include <jni.h>
|
| +
|
| +#include "base/base_export.h"
|
| +
|
| +namespace base {
|
| +namespace android {
|
| +
|
| +// Registers the callbacks that allows the entry point of the library to be
|
| +// exposed to the calling java code. This handles only registering the
|
| +// the callbacks needed by the loader. Any application specific JNI bindings
|
| +// should happen once the native library has fully loaded, either in the library
|
| +// loaded hook function or later.
|
| +BASE_EXPORT bool RegisterLibraryLoaderEntryHook(JNIEnv* env);
|
| +
|
| +// Typedef for hook function to be called (indirectly from Java) once the
|
| +// libraries are loaded. The hook function should register the JNI bindings
|
| +// required to start the application. It should return true for success and
|
| +// false for failure.
|
| +// Note: this can't use base::Callback because there is no way of initializing
|
| +// the default callback without using static objects, which we forbid.
|
| +typedef bool LibraryLoadedHook(JNIEnv* env,
|
| + jclass clazz,
|
| + jobjectArray init_command_line);
|
| +
|
| +// Set the hook function to be called (from Java) once the libraries are loaded.
|
| +// SetLibraryLoadedHook may only be called from JNI_OnLoad. The hook function
|
| +// should register the JNI bindings required to start the application.
|
| +
|
| +BASE_EXPORT void SetLibraryLoadedHook(LibraryLoadedHook* func);
|
| +
|
| +// Pass the version name to the loader. This used to check that the library
|
| +// version matches the version expected by Java before completing JNI
|
| +// registration.
|
| +// Note: argument must remain valid at least until library loading is complete.
|
| +BASE_EXPORT void SetVersionNumber(const char* version_number);
|
| +
|
| +// Call on exit to delete the AtExitManager which OnLibraryLoadedOnUIThread
|
| +// created.
|
| +BASE_EXPORT void LibraryLoaderExitHook();
|
| +
|
| +} // namespace android
|
| +} // namespace base
|
| +
|
| +#endif // BASE_ANDROID_LIBRARY_LOADER_HOOKS_H_
|
|
|