// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.


// This file is autogenerated by
//     third_party/jni_zero/jni_generator.py
// For
//     android/net/connectivity/org/chromium/base/PathUtils

#ifndef android_net_connectivity_org_chromium_base_PathUtils_JNI
#define android_net_connectivity_org_chromium_base_PathUtils_JNI

#include <jni.h>

#include "third_party/jni_zero/jni_export.h"
#include "third_party/jni_zero/jni_zero_helper.h"


// Step 1: Forward declarations.

JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
    kClassPath_android_net_connectivity_org_chromium_base_PathUtils[];
const char kClassPath_android_net_connectivity_org_chromium_base_PathUtils[] =
    "android/net/connectivity/org/chromium/base/PathUtils";
// Leaking this jclass as we cannot use LazyInstance from some threads.
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
    g_android_net_connectivity_org_chromium_base_PathUtils_clazz(nullptr);
#ifndef android_net_connectivity_org_chromium_base_PathUtils_clazz_defined
#define android_net_connectivity_org_chromium_base_PathUtils_clazz_defined
inline jclass android_net_connectivity_org_chromium_base_PathUtils_clazz(JNIEnv* env) {
  return base::android::LazyGetClass(env,
      kClassPath_android_net_connectivity_org_chromium_base_PathUtils,
      &g_android_net_connectivity_org_chromium_base_PathUtils_clazz);
}
#endif


// Step 2: Constants (optional).


// Step 3: Method stubs.

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getAllPrivateDownloadsDirectories0(nullptr);
static base::android::ScopedJavaLocalRef<jobjectArray>
    Java_PathUtils_getAllPrivateDownloadsDirectories(JNIEnv* env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getAllPrivateDownloadsDirectories",
          "()[Ljava/lang/String;",
&g_android_net_connectivity_org_chromium_base_PathUtils_getAllPrivateDownloadsDirectories0);

  jobjectArray ret =
      static_cast<jobjectArray>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jobjectArray>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getCacheDirectory0(nullptr);
static base::android::ScopedJavaLocalRef<jstring> Java_PathUtils_getCacheDirectory(JNIEnv* env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getCacheDirectory",
          "()Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getCacheDirectory0);

  jstring ret =
      static_cast<jstring>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getDataDirectory0(nullptr);
static base::android::ScopedJavaLocalRef<jstring> Java_PathUtils_getDataDirectory(JNIEnv* env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getDataDirectory",
          "()Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getDataDirectory0);

  jstring ret =
      static_cast<jstring>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getDownloadsDirectory0(nullptr);
static base::android::ScopedJavaLocalRef<jstring> Java_PathUtils_getDownloadsDirectory(JNIEnv* env)
    {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getDownloadsDirectory",
          "()Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getDownloadsDirectory0);

  jstring ret =
      static_cast<jstring>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getExternalDownloadVolumesNames0(nullptr);
static base::android::ScopedJavaLocalRef<jobjectArray>
    Java_PathUtils_getExternalDownloadVolumesNames(JNIEnv* env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getExternalDownloadVolumesNames",
          "()[Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getExternalDownloadVolumesNames0);

  jobjectArray ret =
      static_cast<jobjectArray>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jobjectArray>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getExternalStorageDirectory0(nullptr);
static base::android::ScopedJavaLocalRef<jstring> Java_PathUtils_getExternalStorageDirectory(JNIEnv*
    env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getExternalStorageDirectory",
          "()Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getExternalStorageDirectory0);

  jstring ret =
      static_cast<jstring>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getNativeLibraryDirectory0(nullptr);
static base::android::ScopedJavaLocalRef<jstring> Java_PathUtils_getNativeLibraryDirectory(JNIEnv*
    env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getNativeLibraryDirectory",
          "()Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getNativeLibraryDirectory0);

  jstring ret =
      static_cast<jstring>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}

static std::atomic<jmethodID>
    g_android_net_connectivity_org_chromium_base_PathUtils_getThumbnailCacheDirectory0(nullptr);
static base::android::ScopedJavaLocalRef<jstring> Java_PathUtils_getThumbnailCacheDirectory(JNIEnv*
    env) {
  jclass clazz = android_net_connectivity_org_chromium_base_PathUtils_clazz(env);
  CHECK_CLAZZ(env, clazz,
      android_net_connectivity_org_chromium_base_PathUtils_clazz(env), nullptr);

  jni_generator::JniJavaCallContextChecked call_context;
  call_context.Init<
      base::android::MethodID::TYPE_STATIC>(
          env,
          clazz,
          "getThumbnailCacheDirectory",
          "()Ljava/lang/String;",
          &g_android_net_connectivity_org_chromium_base_PathUtils_getThumbnailCacheDirectory0);

  jstring ret =
      static_cast<jstring>(env->CallStaticObjectMethod(clazz,
          call_context.base.method_id));
  return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}

#endif  // android_net_connectivity_org_chromium_base_PathUtils_JNI
