blob: bfab3c9933b689300763a4fc03cc60fa5394b158 [file] [log] [blame]
Benjamin Lermancdfc88d2015-02-03 14:35:12 +01001// 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#include "base/android/base_jni_onload.h"
6#include "base/android/jni_android.h"
7#include "base/android/jni_onload_delegate.h"
8#include "testing/android/native_test_launcher.h"
9
10namespace {
11
12class NativeTestJNIOnLoadDelegate : public base::android::JNIOnLoadDelegate {
13 public:
14 bool RegisterJNI(JNIEnv* env) override;
15 bool Init() override;
16};
17
18bool NativeTestJNIOnLoadDelegate::RegisterJNI(JNIEnv* env) {
19 return RegisterNativeTestJNI(env);
20}
21
22bool NativeTestJNIOnLoadDelegate::Init() {
23 InstallHandlers();
24 return true;
25}
26
27} // namespace
28
29
30// This is called by the VM when the shared library is first loaded.
31JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
32 NativeTestJNIOnLoadDelegate delegate;
33 std::vector<base::android::JNIOnLoadDelegate*> delegates;
34 delegates.push_back(&delegate);
35
36 if (!base::android::OnJNIOnLoad(vm, &delegates))
37 return -1;
38
39 return JNI_VERSION_1_4;
40}