Пример #1
0
/*
 * 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));
}
Пример #2
0
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));
	}
}
Пример #3
0
/*
 * 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;
}
Пример #4
0
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)));
	}
}
Пример #5
0
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;
}
Пример #6
0
/*
 * 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;
}
Пример #7
0
/*
 * 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);
}
Пример #8
0
/*
 * 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;
}
Пример #9
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;
}
Пример #10
0
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);
			}
		}
	}
}
Пример #11
0
/*
 * 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;        
}
Пример #12
0
/*
 * 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)));
}
Пример #13
0
/*
 * 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));
}
Пример #14
0
/*
 * 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));
}
Пример #15
0
/*
 * 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));
}
Пример #16
0
/*
 * 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));
}
Пример #17
0
/*
 * 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);
}
Пример #18
0
/*
 * 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);
}
Пример #19
0
/*
 * 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));
}
Пример #20
0
/*
 * 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)));
}