From 3e73729f90afcb09563162529a3a5300ec47fefc Mon Sep 17 00:00:00 2001 From: strawmanbobi Date: Sun, 8 Mar 2020 20:18:41 +0800 Subject: [PATCH] added get version API to JNI --- src/ir_decoder/CMakeLists.txt | 4 ++-- .../jni/java/net/irext/decode/sdk/IRDecode.java | 6 ++++++ src/ir_decoder/jni/src/ir_decode_jni.c | 11 +++++++++-- src/ir_decoder/jni/src/ir_decode_jni.h | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/ir_decoder/CMakeLists.txt b/src/ir_decoder/CMakeLists.txt index 265cde9..44ed710 100644 --- a/src/ir_decoder/CMakeLists.txt +++ b/src/ir_decoder/CMakeLists.txt @@ -4,8 +4,8 @@ cmake_minimum_required(VERSION 3.2) project(ir_decoder) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") add_definitions(-DBOARD_PC) -# add_definitions(-DBOARD_PC -DBOARD_PC_JNI) -add_definitions(-DDEBUG) +# add_definitions(-DBOARD_PC_JNI) +# add_definitions(-DDEBUG) IF (CMAKE_SYSTEM_NAME MATCHES "Linux") MESSAGE("compile platform : Linux") diff --git a/src/ir_decoder/jni/java/net/irext/decode/sdk/IRDecode.java b/src/ir_decoder/jni/java/net/irext/decode/sdk/IRDecode.java index ea51710..ab5eef2 100644 --- a/src/ir_decoder/jni/java/net/irext/decode/sdk/IRDecode.java +++ b/src/ir_decoder/jni/java/net/irext/decode/sdk/IRDecode.java @@ -26,6 +26,8 @@ public class IRDecode { private static Object mSync = new Object(); + private native String irGetVersion(); + private native int irOpen(int category, int subCate, String fileName); private native int irOpenBinary(int category, int subCate, byte[] binaries, int binLength); @@ -59,6 +61,10 @@ public class IRDecode { System.load(libPath); } + public String getVersion() { + return irGetVersion(); + } + public int openFile(int category, int subCate, String fileName) { return irOpen(category, subCate, fileName); } diff --git a/src/ir_decoder/jni/src/ir_decode_jni.c b/src/ir_decoder/jni/src/ir_decode_jni.c index e8e5dea..98e476c 100644 --- a/src/ir_decoder/jni/src/ir_decode_jni.c +++ b/src/ir_decoder/jni/src/ir_decode_jni.c @@ -12,13 +12,20 @@ Revision log: #include #include "ir_decode_jni.h" -#include "../../include/ir_defs.h" -#include "../../include/ir_decode.h" +#include "../../src/include/ir_defs.h" +#include "../../src/include/ir_decode.h" // global variable definition extern size_t binary_length; extern UINT8 *binary_content; +JNIEXPORT const jstring JNICALL Java_net_irext_decode_sdk_IRDecode_irGetVersion + (JNIEnv *env, jobject this_obj) +{ + char *version = (char*) get_lib_version(); + return (*env)->NewStringUTF(env, version); +} + JNIEXPORT jint JNICALL Java_net_irext_decode_sdk_IRDecode_irOpen (JNIEnv *env, jobject this_obj, jint category_id, jint sub_cate, jstring file_name) { diff --git a/src/ir_decoder/jni/src/ir_decode_jni.h b/src/ir_decoder/jni/src/ir_decode_jni.h index be05b9d..ad47f7e 100644 --- a/src/ir_decoder/jni/src/ir_decode_jni.h +++ b/src/ir_decoder/jni/src/ir_decode_jni.h @@ -59,6 +59,7 @@ extern "C" { #define net_irext_decode_sdk_IRDecode_START_STICKY 1L #undef net_irext_decode_sdk_IRDecode_START_STICKY_COMPATIBILITY #define net_irext_decode_sdk_IRDecode_START_STICKY_COMPATIBILITY 0L + /* * Class: net_irext_decode_sdk_IRDecode * Method: irOpen