165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn/*
265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * Copyright (C) 2011 The Android Open Source Project
365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *
465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * Licensed under the Apache License, Version 2.0 (the "License");
565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * you may not use this file except in compliance with the License.
665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * You may obtain a copy of the License at
765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *
865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *      http://www.apache.org/licenses/LICENSE-2.0
965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn *
1065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * Unless required by applicable law or agreed to in writing, software
1165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * distributed under the License is distributed on an "AS IS" BASIS,
1265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * See the License for the specific language governing permissions and
1465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn * limitations under the License.
1565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn */
1665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
1765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#ifndef ANDROID_FILTERFW_JNI_NATIVE_PROGRAM_H
1865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#define ANDROID_FILTERFW_JNI_NATIVE_PROGRAM_H
1965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#include <jni.h>
2165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#ifdef __cplusplus
2365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Rennextern "C" {
2465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#endif
2565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
2765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_allocate(JNIEnv* env, jobject thiz);
2865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
2965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
3065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_deallocate(JNIEnv* env, jobject thiz);
3165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
3365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_nativeInit(JNIEnv* env, jobject thiz);
3465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
3565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
3665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_openNativeLibrary(JNIEnv* env,
3765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jobject thiz,
3865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jstring lib_name);
3965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
4065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
4165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_bindInitFunction(JNIEnv* env,
4265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                          jobject thiz,
4365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                          jstring func_name);
4465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
4565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
4665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_bindSetValueFunction(JNIEnv* env,
4765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                              jobject thiz,
4865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                              jstring func_name);
4965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
5065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
5165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_bindGetValueFunction(JNIEnv* env,
5265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                              jobject thiz,
5365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                              jstring func_name);
5465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
5565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
5665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_bindProcessFunction(JNIEnv* env,
5765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                             jobject thiz,
5865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                             jstring func_name);
5965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
6065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
6165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_bindResetFunction(JNIEnv* env,
6265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jobject thiz,
6365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jstring func_name);
6465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
6565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
6665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_bindTeardownFunction(JNIEnv* env,
6765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                              jobject thiz,
6865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                              jstring func_name);
6965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
7065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
7165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_callNativeInit(JNIEnv* env, jobject thiz);
7265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
7365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
7465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_callNativeSetValue(JNIEnv* env,
7565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jobject thiz,
7665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jstring key,
7765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jstring value);
7865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
7965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jstring JNICALL
8065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_callNativeGetValue(JNIEnv* env,
8165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jobject thiz,
8265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                            jstring key);
8365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
8465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
8565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_callNativeProcess(JNIEnv* env,
8665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jobject thiz,
8765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jobjectArray inputs,
8865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn                                                           jobject output);
8965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
9065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
9165953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_callNativeReset(JNIEnv* env, jobject thiz);
9265953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
9365953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJNIEXPORT jboolean JNICALL
9465953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius RennJava_android_filterfw_core_NativeProgram_callNativeTeardown(JNIEnv* env, jobject thiz);
9565953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
9665953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#ifdef __cplusplus
9765953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn}
9865953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#endif
9965953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn
10065953da4636fbf5f0a24b8f5f2b5fa7d76ff13d9Marius Renn#endif // ANDROID_FILTERFW_JNI_NATIVE_PROGRAM_H
101