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 | |
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')
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/android_jni.h | 32 | ||||
-rw-r--r-- | src/frontends/android/jni/libandroidbridge/backend/android_private_key.c | 24 |
2 files changed, 32 insertions, 24 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_ @}*/ diff --git a/src/frontends/android/jni/libandroidbridge/backend/android_private_key.c b/src/frontends/android/jni/libandroidbridge/backend/android_private_key.c index 21b743767..1aeabac2f 100644 --- a/src/frontends/android/jni/libandroidbridge/backend/android_private_key.c +++ b/src/frontends/android/jni/libandroidbridge/backend/android_private_key.c @@ -51,30 +51,6 @@ struct private_private_key_t { refcount_t ref; }; -/** - * Converts the given Java byte array to a chunk - */ -static 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 - */ -static 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; -} - METHOD(private_key_t, sign, bool, private_private_key_t *this, signature_scheme_t scheme, chunk_t data, chunk_t *signature) |