diff options
-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) |