android: Moved chunk_from_byte_array and byte_array_from_chunk helper functions

This commit is contained in:
Tobias Brunner
2013-01-14 17:19:58 +01:00
parent ecff0e5685
commit 53ce5c4c91
2 changed files with 32 additions and 24 deletions
@@ -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_ @}*/
@@ -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)