/* * Class: org_haggle_DataObject * Method: getAttribute * Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/haggle/Attribute; */ JNIEXPORT jobject JNICALL Java_org_haggle_DataObject_getAttribute__Ljava_lang_String_2Ljava_lang_String_2(JNIEnv *env, jobject obj, jstring name, jstring value) { haggle_attr_t *attr; const char *namestr, *valuestr; namestr = (*env)->GetStringUTFChars(env, name, 0); if (!namestr) return NULL; valuestr = (*env)->GetStringUTFChars(env, value, 0); if (!valuestr) { (*env)->ReleaseStringUTFChars(env, name, namestr); return NULL; } attr = haggle_dataobject_get_attribute_by_name_value((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), namestr, valuestr); (*env)->ReleaseStringUTFChars(env, name, namestr); (*env)->ReleaseStringUTFChars(env, value, valuestr); if (!attr) return NULL; return java_object_new(env, JCLASS_ATTRIBUTE, haggle_attribute_copy(attr)); }
void linphone_gtk_show_camera_preview_clicked(GtkButton *button){ GtkWidget *mw=linphone_gtk_get_main_window(); GtkWidget *video_preview=(GtkWidget *)g_object_get_data(G_OBJECT(mw),"video_preview"); if (!video_preview){ gchar *title; LinphoneCore *lc=linphone_gtk_get_core(); GdkColor color; guint tid; video_preview=gtk_window_new(GTK_WINDOW_TOPLEVEL); title=g_strdup_printf("%s - Video preview",linphone_gtk_get_ui_config("title","Linphone")); gtk_window_set_title(GTK_WINDOW(video_preview),title); gdk_color_parse("black",&color); gtk_widget_modify_bg(video_preview,GTK_STATE_NORMAL,&color); g_free(title); g_object_set_data(G_OBJECT(mw),"video_preview",video_preview); g_signal_connect(video_preview,"destroy",(GCallback)on_video_preview_destroyed,mw); gtk_widget_show(video_preview); linphone_core_set_native_preview_window_id(lc,get_native_handle(gtk_widget_get_window(video_preview))); linphone_core_enable_video_preview(lc,TRUE); tid=g_timeout_add(100,(GSourceFunc)check_preview_size,video_preview); g_object_set_data(G_OBJECT(video_preview),"timeout-id",GINT_TO_POINTER(tid)); } }
/* * Class: org_haggle_DataObject * Method: addAttribute * Signature: (Ljava/lang/String;Ljava/lang/String;)Z */ JNIEXPORT jboolean JNICALL Java_org_haggle_DataObject_addAttribute(JNIEnv *env, jobject obj, jstring name, jstring value, jlong weight) { const char *namestr, *valuestr; haggle_dobj_t *dobj; jboolean ret = JNI_FALSE; dobj = (haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj); if (!dobj) return JNI_FALSE; namestr = (*env)->GetStringUTFChars(env, name, 0); if (!namestr) return JNI_FALSE; valuestr = (*env)->GetStringUTFChars(env, value, 0); if (!valuestr) { (*env)->ReleaseStringUTFChars(env, name, namestr); return JNI_FALSE; } ret = haggle_dataobject_add_attribute_weighted(dobj, namestr, valuestr, weight); (*env)->ReleaseStringUTFChars(env, name, namestr); (*env)->ReleaseStringUTFChars(env, value, valuestr); return ret == 0 ? JNI_TRUE : JNI_FALSE; }
static void show_video_window(LinphoneCall *call, LinphoneCallState cstate) { GtkWidget *video_window = (GtkWidget *)linphone_call_get_user_data(call); if (video_window == NULL) { video_window = create_video_window(call, cstate); linphone_call_set_user_data(call, video_window); linphone_call_set_native_video_window_id(call, get_native_handle(gtk_widget_get_window(video_window))); } }
ANativeWindowBuffer* mcla::ClientSurfaceInterpreter::driver_requests_buffer() { auto buffer = surface.get_current_buffer(); auto buffer_to_driver = buffer->get_native_handle(); buffer_to_driver->format = driver_pixel_format; return buffer_to_driver; }
/* * Class: org_haggle_DataObject * Method: getThumbnailSize * Signature: ()J */ JNIEXPORT jlong JNICALL Java_org_haggle_DataObject_getThumbnailSize(JNIEnv *env, jobject obj) { int ret; size_t bytes; ret = haggle_dataobject_get_thumbnail_size((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), &bytes); if (ret != HAGGLE_NO_ERROR) return ret; return (jlong)bytes; }
/* * Class: org_haggle_DataObject * Method: nativeFree * Signature: ()V */ JNIEXPORT void JNICALL Java_org_haggle_DataObject_nativeFree(JNIEnv *env, jobject obj) { haggle_dobj_t *dobj; dobj = (haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj); if (!dobj) return; /* Set the handle to NULL */ set_native_handle(env, JCLASS_DATAOBJECT, obj, NULL); haggle_dataobject_free(dobj); }
/* * Class: org_haggle_DataObject * Method: setThumbnail * Signature: ([B)I */ JNIEXPORT jint JNICALL Java_org_haggle_DataObject_setThumbnail(JNIEnv *env, jobject obj, jbyteArray arr) { jbyte *carr; int res; carr = (*env)->GetByteArrayElements(env, arr, NULL); if (carr == NULL) { return -1; } res = haggle_dataobject_set_thumbnail((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), (char *)carr, (*env)->GetArrayLength(env, arr)); (*env)->ReleaseByteArrayElements(env, arr, carr, 0); return 0; }
/* * Class: org_haggle_DataObject * Method: getRaw * Signature: ()[B */ JNIEXPORT jbyteArray JNICALL Java_org_haggle_DataObject_getRaw(JNIEnv *env, jobject obj) { unsigned char *raw = NULL; jbyteArray jbarr; size_t len; int res; res = haggle_dataobject_get_raw_alloc((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), &raw, &len); if (res != HAGGLE_NO_ERROR || !raw) return NULL; jbarr = (*env)->NewByteArray(env, len); (*env)->SetByteArrayRegion(env, jbarr, 0, len, (jbyte *)raw); free(raw); return jbarr; }
void linphone_gtk_in_call_show_video(LinphoneCall *call){ GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call); GtkWidget *video_window=(GtkWidget*)g_object_get_data(G_OBJECT(callview),"video_window"); const LinphoneCallParams *params=linphone_call_get_current_params(call); LinphoneCore *lc=linphone_gtk_get_core(); if (((bool_t)lp_config_get_int(linphone_core_get_config(lc), "video", "rtp_io", FALSE)) == FALSE) { if (linphone_call_get_state(call)!=LinphoneCallPaused && params && linphone_call_params_video_enabled(params)){ if (video_window==NULL){ video_window=create_video_window(call); g_object_set_data(G_OBJECT(callview),"video_window",video_window); } linphone_core_set_native_video_window_id(lc,get_native_handle(gtk_widget_get_window(video_window))); gtk_window_present(GTK_WINDOW(video_window)); }else{ if (video_window){ gtk_widget_destroy(video_window); g_object_set_data(G_OBJECT(callview),"video_window",NULL); } } } }
/* * Class: org_haggle_DataObject * Method: getThumbnail * Signature: ([B)J */ JNIEXPORT jlong JNICALL Java_org_haggle_DataObject_getThumbnail(JNIEnv *env, jobject obj, jbyteArray arr) { jbyte *carr; size_t bytes; int ret; carr = (*env)->GetByteArrayElements(env, arr, NULL); if (carr == NULL) { return -1; } bytes = (*env)->GetArrayLength(env, arr); ret = haggle_dataobject_read_thumbnail((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), (char *)carr, bytes); (*env)->ReleaseByteArrayElements(env, arr, carr, 0); if (ret != HAGGLE_NO_ERROR) return ret; return (jlong)bytes; }
/* * Class: org_haggle_Interface * Method: getIdentifierString * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_haggle_Interface_getIdentifierString(JNIEnv *env, jobject obj) { return (*env)->NewStringUTF(env, haggle_interface_get_identifier_str((haggle_interface_t *)get_native_handle(env, JCLASS_INTERFACE, obj))); }
/* * Class: org_haggle_Interface * Method: getStatus * Signature: ()I */ JNIEXPORT jint JNICALL Java_org_haggle_Interface_getStatus(JNIEnv *env, jobject obj) { return haggle_interface_get_status((haggle_interface_t *)get_native_handle(env, JCLASS_INTERFACE, obj)); }
/* * Class: org_haggle_Interface * Method: nativeFree * Signature: ()V */ JNIEXPORT void JNICALL Java_org_haggle_Interface_nativeFree(JNIEnv *env, jobject obj) { haggle_interface_free((haggle_interface_t *)get_native_handle(env, JCLASS_INTERFACE, obj)); }
/* * Class: org_haggle_DataObject * Method: getNumAttributes * Signature: ()J */ JNIEXPORT jlong JNICALL Java_org_haggle_DataObject_getNumAttributes(JNIEnv *env, jobject obj) { return (jlong)haggle_dataobject_get_num_attributes((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj)); }
/* * Class: org_haggle_DataObject * Method: getAttributes * Signature: ()[Lorg/haggle/Attribute; */ JNIEXPORT jobjectArray JNICALL Java_org_haggle_DataObject_getAttributes(JNIEnv *env, jobject obj) { return libhaggle_jni_dataobject_to_attribute_jobjectArray(env, (haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj)); }
/* * Class: org_haggle_DataObject * Method: setCreateTime * Signature: ()I */ JNIEXPORT jint JNICALL Java_org_haggle_DataObject_setCreateTime__(JNIEnv *env, jobject obj) { return (jint)haggle_dataobject_set_createtime((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), NULL); }
/* * Class: org_haggle_DataObject * Method: setCreateTime * Signature: (JJ)I */ JNIEXPORT jint JNICALL Java_org_haggle_DataObject_setCreateTime__JJ(JNIEnv *env, jobject obj, jlong secs, jlong usecs) { struct timeval t = { secs, usecs }; return (jint)haggle_dataobject_set_createtime((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj), &t); }
/* * Class: org_haggle_DataObject * Method: addFileHash * Signature: ()I */ JNIEXPORT jint JNICALL Java_org_haggle_DataObject_addFileHash(JNIEnv *env, jobject obj) { return (jint)haggle_dataobject_add_hash((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj)); }
/* * Class: org_haggle_DataObject * Method: getFileName * Signature: ()Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_haggle_DataObject_getFileName(JNIEnv *env, jobject obj) { return (*env)->NewStringUTF(env, haggle_dataobject_get_filename((haggle_dobj_t *)get_native_handle(env, JCLASS_DATAOBJECT, obj))); }