diff --git a/jni/dc_wrapper.c b/jni/dc_wrapper.c index c87588ab9..4e3a8d180 100644 --- a/jni/dc_wrapper.c +++ b/jni/dc_wrapper.c @@ -1118,6 +1118,20 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcEvent_getData2Str(JNIEnv *env, jobje } +JNIEXPORT jbyteArray Java_com_b44t_messenger_DcEvent_getData2Blob(JNIEnv *env, jobject obj) +{ + jbyteArray ret = NULL; + dc_event_t* event = get_dc_event(env, obj); + + size_t ptrSize = dc_event_get_data2_int(event); + char* ptr = dc_event_get_data2_str(get_dc_event(env, obj)); + ret = ptr2jbyteArray(env, ptr, ptrSize); + dc_str_unref(ptr); + + return ret; +} + + JNIEXPORT jint Java_com_b44t_messenger_DcEvent_getAccountId(JNIEnv *env, jobject obj) { return (jint)dc_event_get_account_id(get_dc_event(env, obj)); diff --git a/src/com/b44t/messenger/DcEvent.java b/src/com/b44t/messenger/DcEvent.java index a2970b908..1acfc2ee0 100644 --- a/src/com/b44t/messenger/DcEvent.java +++ b/src/com/b44t/messenger/DcEvent.java @@ -16,6 +16,7 @@ public class DcEvent { public native int getData1Int (); public native int getData2Int (); public native String getData2Str (); + public native byte[] getData2Blob(); public native int getAccountId(); // working with raw c-data