diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-01-14 17:18:35 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-01-14 17:19:58 +0100 |
commit | 53ce5c4c91cf483ecf7f5e2f5adfa479aeca1033 (patch) | |
tree | 83456a9babfc985d07fbd75b6f86a48b7bd9d50b /src/frontends/android/jni/libandroidbridge/android_jni.h | |
parent | ecff0e5685c5230a11661f7fbdb1d815f9edbe8a (diff) | |
download | strongswan-53ce5c4c91cf483ecf7f5e2f5adfa479aeca1033.tar.bz2 strongswan-53ce5c4c91cf483ecf7f5e2f5adfa479aeca1033.tar.xz |
android: Moved chunk_from_byte_array and byte_array_from_chunk helper functions
Diffstat (limited to 'src/frontends/android/jni/libandroidbridge/android_jni.h')
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/android_jni.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/frontends/android/jni/libandroidbridge/android_jni.h b/src/frontends/android/jni/libandroidbridge/android_jni.h index b89fd3ad5..99c0bc2cd 100644 --- a/src/frontends/android/jni/libandroidbridge/android_jni.h +++ b/src/frontends/android/jni/libandroidbridge/android_jni.h @@ -122,4 +122,36 @@ static inline char *androidjni_convert_jstring(JNIEnv *env, jstring jstr) return str; } +/** + * Converts the given Java byte array to a chunk + * + * @param env JNIEnv + * @param jbytearray Java byte array + * @return allocated chunk + */ +static inline chunk_t chunk_from_byte_array(JNIEnv *env, jbyteArray jbytearray) +{ + chunk_t chunk; + + chunk = chunk_alloc((*env)->GetArrayLength(env, jbytearray)); + (*env)->GetByteArrayRegion(env, jbytearray, 0, chunk.len, chunk.ptr); + return chunk; +} + +/** + * Converts the given chunk to a Java byte array + * + * @param env JNIEnv + * @param chunk native chunk + * @return allocated Java byte array + */ +static inline jbyteArray byte_array_from_chunk(JNIEnv *env, chunk_t chunk) +{ + jbyteArray jbytearray; + + jbytearray = (*env)->NewByteArray(env, chunk.len); + (*env)->SetByteArrayRegion(env, jbytearray, 0, chunk.len, chunk.ptr); + return jbytearray; +} + #endif /** ANDROID_JNI_H_ @}*/ |