# HG changeset patch # User Mike Ruprecht # Date 1229393215 0 # Node ID 0829a08038c639048c10858f73d7e1d3f56175c4 # Parent 18b71033ea6e52f63eb560d772c00cda4a9428b5 Remove the screenname attribute from PurpleMedia. diff -r 18b71033ea6e -r 0829a08038c6 libpurple/media.c --- a/libpurple/media.c Tue Dec 16 01:27:51 2008 +0000 +++ b/libpurple/media.c Tue Dec 16 02:06:55 2008 +0000 @@ -74,8 +74,6 @@ { FsConference *conference; - char *name; - GHashTable *sessions; /* PurpleMediaSession table */ GHashTable *participants; /* FsParticipant table */ @@ -126,7 +124,6 @@ enum { PROP_0, PROP_FS_CONFERENCE, - PROP_NAME, }; GType @@ -169,13 +166,6 @@ FS_TYPE_CONFERENCE, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); - g_object_class_install_property(gobject_class, PROP_NAME, - g_param_spec_string("screenname", - "Screenname", - "The screenname of the remote user", - NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); - purple_media_signals[ERROR] = g_signal_new("error", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, @@ -275,8 +265,6 @@ purple_media_manager_remove_media(purple_media_manager_get(), PURPLE_MEDIA(media)); - g_free(priv->name); - for (; priv->streams; priv->streams = g_list_delete_link(priv->streams, priv->streams)) purple_media_stream_free(priv->streams->data); @@ -323,10 +311,6 @@ media->priv->conference = g_value_get_object(value); g_object_ref(media->priv->conference); break; - case PROP_NAME: - g_free(media->priv->name); - media->priv->name = g_value_dup_string(value); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -345,9 +329,6 @@ case PROP_FS_CONFERENCE: g_value_set_object(value, media->priv->conference); break; - case PROP_NAME: - g_value_set_string(value, media->priv->name); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -725,7 +706,7 @@ { if (!media->priv->pipeline) { GstBus *bus; - media->priv->pipeline = gst_pipeline_new(media->priv->name); + media->priv->pipeline = gst_pipeline_new(NULL); bus = gst_pipeline_get_bus(GST_PIPELINE(media->priv->pipeline)); gst_bus_add_signal_watch(GST_BUS(bus)); g_signal_connect(G_OBJECT(bus), "message", @@ -739,14 +720,6 @@ return media->priv->pipeline; } -char * -purple_media_get_screenname(PurpleMedia *media) -{ - char *ret; - g_object_get(G_OBJECT(media), "screenname", &ret, NULL); - return ret; -} - void purple_media_error(PurpleMedia *media, const gchar *error, ...) { diff -r 18b71033ea6e -r 0829a08038c6 libpurple/media.h --- a/libpurple/media.h Tue Dec 16 01:27:51 2008 +0000 +++ b/libpurple/media.h Tue Dec 16 02:06:55 2008 +0000 @@ -214,15 +214,6 @@ GstElement *purple_media_get_pipeline(PurpleMedia *media); /** - * Gets the screenname of the remote user. - * - * @param media The media object to retrieve the remote user from. - * - * @return The retrieved screenname. - */ -char *purple_media_get_screenname(PurpleMedia *media); - -/** * Signals an error in the media session. * * @param media The media object to set the state on. diff -r 18b71033ea6e -r 0829a08038c6 libpurple/mediamanager.c --- a/libpurple/mediamanager.c Tue Dec 16 01:27:51 2008 +0000 +++ b/libpurple/mediamanager.c Tue Dec 16 02:06:55 2008 +0000 @@ -156,7 +156,6 @@ } media = PURPLE_MEDIA(g_object_new(purple_media_get_type(), - "screenname", remote_user, "farsight-conference", conference, NULL)); diff -r 18b71033ea6e -r 0829a08038c6 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Tue Dec 16 01:27:51 2008 +0000 +++ b/pidgin/gtkconv.c Tue Dec 16 02:06:55 2008 +0000 @@ -7831,7 +7831,7 @@ return FALSE; } - gtkmedia = pidgin_media_new(media); + gtkmedia = pidgin_media_new(media, screenname); g_object_unref(media); gtk_box_pack_start(GTK_BOX(gtkconv->topvbox), gtkmedia, FALSE, FALSE, 0); diff -r 18b71033ea6e -r 0829a08038c6 pidgin/gtkmedia.c --- a/pidgin/gtkmedia.c Tue Dec 16 01:27:51 2008 +0000 +++ b/pidgin/gtkmedia.c Tue Dec 16 02:06:55 2008 +0000 @@ -51,6 +51,7 @@ struct _PidginMediaPrivate { PurpleMedia *media; + gchar *screenname; GstElement *send_level; GstElement *recv_level; @@ -93,6 +94,7 @@ enum { PROP_0, PROP_MEDIA, + PROP_SCREENNAME, PROP_SEND_LEVEL, PROP_RECV_LEVEL }; @@ -138,6 +140,12 @@ "The PurpleMedia associated with this media.", PURPLE_TYPE_MEDIA, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); + g_object_class_install_property(gobject_class, PROP_SCREENNAME, + g_param_spec_string("screenname", + "Screenname", + "The screenname of the user this session is with.", + NULL, + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); g_object_class_install_property(gobject_class, PROP_SEND_LEVEL, g_param_spec_object("send-level", "Send level", @@ -473,23 +481,20 @@ { PurpleMediaSessionType type = purple_media_get_overall_type(media); gchar *message; - gchar *name = purple_media_get_screenname(media); if (type & PURPLE_MEDIA_AUDIO && type & PURPLE_MEDIA_VIDEO) { message = g_strdup_printf(_("%s wishes to start an audio/video session with you."), - name); + gtkmedia->priv->screenname); } else if (type & PURPLE_MEDIA_AUDIO) { message = g_strdup_printf(_("%s wishes to start an audio session with you."), - name); + gtkmedia->priv->screenname); } else if (type & PURPLE_MEDIA_VIDEO) { message = g_strdup_printf(_("%s wishes to start a video session with you."), - name); + gtkmedia->priv->screenname); } else { - g_free(name); return; } - g_free(name); pidgin_media_emit_message(gtkmedia, message); g_free(message); } @@ -547,6 +552,11 @@ g_signal_connect(G_OBJECT(media->priv->media), "got-accept", G_CALLBACK(pidgin_media_accept_cb), media); break; + case PROP_SCREENNAME: + if (media->priv->screenname) + g_free(media->priv->screenname); + media->priv->screenname = g_value_dup_string(value); + break; case PROP_SEND_LEVEL: if (media->priv->send_level) gst_object_unref(media->priv->send_level); @@ -577,6 +587,9 @@ case PROP_MEDIA: g_value_set_object(value, media->priv->media); break; + case PROP_SCREENNAME: + g_value_set_string(value, media->priv->screenname); + break; case PROP_SEND_LEVEL: g_value_set_object(value, media->priv->send_level); break; @@ -590,10 +603,11 @@ } GtkWidget * -pidgin_media_new(PurpleMedia *media) +pidgin_media_new(PurpleMedia *media, const gchar *screenname) { PidginMedia *gtkmedia = g_object_new(pidgin_media_get_type(), - "media", media, NULL); + "media", media, + "screenname", screenname, NULL); return GTK_WIDGET(gtkmedia); } diff -r 18b71033ea6e -r 0829a08038c6 pidgin/gtkmedia.h --- a/pidgin/gtkmedia.h Tue Dec 16 01:27:51 2008 +0000 +++ b/pidgin/gtkmedia.h Tue Dec 16 02:06:55 2008 +0000 @@ -59,7 +59,7 @@ GType pidgin_media_get_type(void); -GtkWidget *pidgin_media_new(PurpleMedia *media); +GtkWidget *pidgin_media_new(PurpleMedia *media, const gchar *screenname); GtkWidget *pidgin_media_get_display_widget(GtkWidget *gtkmedia); G_END_DECLS