// 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/task/TaskRunnerImpl

#ifndef android_net_connectivity_org_chromium_base_task_TaskRunnerImpl_JNI
#define android_net_connectivity_org_chromium_base_task_TaskRunnerImpl_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.


// Step 2: Constants (optional).


// Step 3: Method stubs.
namespace base {

JNI_BOUNDARY_EXPORT jboolean Java_android_net_connectivity_J_N_MZRJRaN_00024(
    JNIEnv* env,
    jclass jcaller,
    jlong nativeTaskRunnerAndroid) {
  TaskRunnerAndroid* native = reinterpret_cast<TaskRunnerAndroid*>(nativeTaskRunnerAndroid);
  CHECK_NATIVE_PTR(env, jcaller, native, "BelongsToCurrentThread", false);
  return native->BelongsToCurrentThread(env);
}

JNI_BOUNDARY_EXPORT void Java_android_net_connectivity_J_N_M00zN9h9(
    JNIEnv* env,
    jclass jcaller,
    jlong nativeTaskRunnerAndroid) {
  TaskRunnerAndroid* native = reinterpret_cast<TaskRunnerAndroid*>(nativeTaskRunnerAndroid);
  CHECK_NATIVE_PTR(env, jcaller, native, "Destroy");
  return native->Destroy(env);
}

static jlong JNI_TaskRunnerImpl_Init(JNIEnv* env, jint taskRunnerType,
    jint taskTraits);

JNI_BOUNDARY_EXPORT jlong Java_android_net_connectivity_J_N_MdNofz7Z(
    JNIEnv* env,
    jclass jcaller,
    jint taskRunnerType,
    jint taskTraits) {
  return JNI_TaskRunnerImpl_Init(env, taskRunnerType, taskTraits);
}

JNI_BOUNDARY_EXPORT void Java_android_net_connectivity_J_N_MdtDn8B1(
    JNIEnv* env,
    jclass jcaller,
    jlong nativeTaskRunnerAndroid,
    jobject task,
    jlong delay,
    jstring runnableClassName) {
  TaskRunnerAndroid* native = reinterpret_cast<TaskRunnerAndroid*>(nativeTaskRunnerAndroid);
  CHECK_NATIVE_PTR(env, jcaller, native, "PostDelayedTask");
  return native->PostDelayedTask(env, base::android::JavaParamRef<jobject>(env, task), delay,
      base::android::JavaParamRef<jstring>(env, runnableClassName));
}


}  // namespace base

#endif  // android_net_connectivity_org_chromium_base_task_TaskRunnerImpl_JNI
