103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file.
403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#ifndef BASE_ANDROID_JNI_UTILS_H_
603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#define BASE_ANDROID_JNI_UTILS_H_
703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include <jni.h>
903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "base/android/scoped_java_ref.h"
1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace base {
1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace android {
1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Gets a ClassLoader instance capable of loading Chromium java classes.
1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// This should be called either from JNI_OnLoad or from within a method called
1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// via JNI from Java.
1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)BASE_EXPORT ScopedJavaLocalRef<jobject> GetClassLoader(JNIEnv* env);
2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)bool RegisterJNIUtils(JNIEnv* env);
2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}  // namespace android
2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}  // namespace base
2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#endif  // BASE_ANDROID_JNI_UTILS_H_
2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
28