From 6fc28b0523978a6eca6d7d6ce12b6807bf6492c0 Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Fri, 3 May 2019 08:45:38 +0200 Subject: fix vpp string type api implementation - separate static string functions to string_t.h library - ignore string limit value for now. We would need to create wrapper class for string to support max length in java. API example: [ "string", "version", { "limit": 32 } ] Change-Id: I60a8a2c56397d54d49544551dc91733e12a0a0ea Signed-off-by: Michal Cmarada --- java/jvpp-core/jvpp_core.c | 29 +---------------------------- java/jvpp-core/jvpp_core.h | 29 ----------------------------- 2 files changed, 1 insertion(+), 57 deletions(-) (limited to 'java/jvpp-core') diff --git a/java/jvpp-core/jvpp_core.c b/java/jvpp-core/jvpp_core.c index da8ab09..618793a 100644 --- a/java/jvpp-core/jvpp_core.c +++ b/java/jvpp-core/jvpp_core.c @@ -25,6 +25,7 @@ #include #include #include +#include // TODO: generate jvpp_plugin_name.c files (or at least reuse plugin's main structure) @@ -106,31 +107,3 @@ void JNI_OnUnload(JavaVM *vm, void *reserved) { } delete_class_references(env); } - - -static void _host_to_net_string(JNIEnv * env, jstring javaString, vl_api_string_t * vl_api_string) -{ - const char *nativeString; - // prevent null, which causes jni to crash - if (NULL != javaString) { - nativeString = (*env)->GetStringUTFChars(env, javaString, 0); - } else{ - nativeString = ""; - } - - vl_api_to_api_string(jstr_length(env, javaString) + 1, nativeString, vl_api_string); - - (*env)->ReleaseStringUTFChars(env, javaString, nativeString); -} - - -static jstring _net_to_host_string(JNIEnv * env, const vl_api_string_t * _net) -{ - return (*env)->NewStringUTF(env, (char *)_net->buf); -} - - -static size_t jstr_length(JNIEnv *env, jstring string) -{ - return ((int) (*env)->GetStringUTFLength(env, string)); -} diff --git a/java/jvpp-core/jvpp_core.h b/java/jvpp-core/jvpp_core.h index 032dd33..f310096 100644 --- a/java/jvpp-core/jvpp_core.h +++ b/java/jvpp-core/jvpp_core.h @@ -19,32 +19,3 @@ #include #endif //VPP_JVPP_CORE_H - -// /** -// * Host to network byte order conversion for string type. Converts String in Java to VPP string type. -// * typedef struct -// * { -// * u32 length; -// * u8 buf[0]; -// * } __attribute__ ((packed)) vl_api_string_t; -// */ -static void _host_to_net_string(JNIEnv * env, jstring javaString, vl_api_string_t * vl_api_string); - - -// -// /** -// * Network to host byte order conversion for string type. Converts VPP string type to String in Java -// * typedef struct -// * { -// * u32 length; -// * u8 buf[0]; -// * } __attribute__ ((packed)) vl_api_string_t; -// */ -static jstring _net_to_host_string(JNIEnv * env, const vl_api_string_t * _net); - - -// -// /** -// * Returns the length of jstring as size_t -// */ -static size_t jstr_length(JNIEnv *env, jstring string); -- cgit 1.2.3-korg