// Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_baidu_paddle_inference_Predictor */

#ifndef PADDLE_FLUID_INFERENCE_JAVAAPI_NATIVE_COM_BAIDU_PADDLE_INFERENCE_PREDICTOR_H_
#define PADDLE_FLUID_INFERENCE_JAVAAPI_NATIVE_COM_BAIDU_PADDLE_INFERENCE_PREDICTOR_H_
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    cppPredictorDestroy
 * Signature: (J)V
 */
JNIEXPORT void JNICALL
Java_com_baidu_paddle_inference_Predictor_cppPredictorDestroy(JNIEnv *, jobject,
                                                              jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    predictorTryShrinkMemory
 * Signature: (J)V
 */
JNIEXPORT void JNICALL
Java_com_baidu_paddle_inference_Predictor_predictorTryShrinkMemory(JNIEnv *,
                                                                   jobject,
                                                                   jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    predictorClearIntermediateTensor
 * Signature: (J)V
 */
JNIEXPORT void JNICALL
Java_com_baidu_paddle_inference_Predictor_predictorClearIntermediateTensor(
    JNIEnv *, jobject, jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    createPredictor
 * Signature: (J)J
 */
JNIEXPORT jlong JNICALL
Java_com_baidu_paddle_inference_Predictor_createPredictor(JNIEnv *, jobject,
                                                          jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    getInputNum
 * Signature: (J)J
 */
JNIEXPORT jlong JNICALL
Java_com_baidu_paddle_inference_Predictor_getInputNum(JNIEnv *, jobject, jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    getOutputNum
 * Signature: (J)J
 */
JNIEXPORT jlong JNICALL Java_com_baidu_paddle_inference_Predictor_getOutputNum(
    JNIEnv *, jobject, jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    getInputNameByIndex
 * Signature: (JJ)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL
Java_com_baidu_paddle_inference_Predictor_getInputNameByIndex(JNIEnv *, jobject,
                                                              jlong, jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    getOutputNameByIndex
 * Signature: (JJ)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL
Java_com_baidu_paddle_inference_Predictor_getOutputNameByIndex(JNIEnv *,
                                                               jobject, jlong,
                                                               jlong);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    getInputHandleByName
 * Signature: (JLjava/lang/String;)J
 */
JNIEXPORT jlong JNICALL
Java_com_baidu_paddle_inference_Predictor_getInputHandleByName(JNIEnv *,
                                                               jobject, jlong,
                                                               jstring);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    getOutputHandleByName
 * Signature: (JLjava/lang/String;)J
 */
JNIEXPORT jlong JNICALL
Java_com_baidu_paddle_inference_Predictor_getOutputHandleByName(JNIEnv *,
                                                                jobject, jlong,
                                                                jstring);

/*
 * Class:     com_baidu_paddle_inference_Predictor
 * Method:    runPD
 * Signature: (J)Z
 */
JNIEXPORT jboolean JNICALL
Java_com_baidu_paddle_inference_Predictor_runPD(JNIEnv *, jobject, jlong);

#ifdef __cplusplus
}
#endif
#endif  // PADDLE_FLUID_INFERENCE_JAVAAPI_NATIVE_COM_BAIDU_PADDLE_INFERENCE_PREDICTOR_H_
