Mercurial > pidgin.yaz
diff libpurple/media.c @ 26203:7738f530a967
Added the connection property back to PurpleMedia.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Wed, 25 Feb 2009 01:58:57 +0000 |
parents | 0a6f1f796d21 |
children | e411aad4346b |
line wrap: on
line diff
--- a/libpurple/media.c Tue Feb 24 23:42:38 2009 +0000 +++ b/libpurple/media.c Wed Feb 25 01:58:57 2009 +0000 @@ -87,6 +87,7 @@ struct _PurpleMediaPrivate { PurpleMediaManager *manager; + PurpleConnection *pc; FsConference *conference; gboolean initiator; @@ -135,6 +136,7 @@ enum { PROP_0, PROP_MANAGER, + PROP_CONNECTION, PROP_CONFERENCE, PROP_INITIATOR, }; @@ -196,6 +198,12 @@ PURPLE_TYPE_MEDIA_MANAGER, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); + g_object_class_install_property(gobject_class, PROP_CONNECTION, + g_param_spec_pointer("connection", + "PurpleConnection", + "The connection this media session is on.", + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); + g_object_class_install_property(gobject_class, PROP_CONFERENCE, g_param_spec_object("conference", "Farsight conference", @@ -407,6 +415,9 @@ purple_media_setup_pipeline(media); break; + case PROP_CONNECTION: + media->priv->pc = g_value_get_pointer(value); + break; case PROP_CONFERENCE: { if (media->priv->conference) gst_object_unref(media->priv->conference); @@ -437,6 +448,9 @@ case PROP_MANAGER: g_value_set_object(value, media->priv->manager); break; + case PROP_CONNECTION: + g_value_set_pointer(value, media->priv->pc); + break; case PROP_CONFERENCE: g_value_set_object(value, media->priv->conference); break; @@ -1360,6 +1374,15 @@ return purple_media_manager_get_pipeline(media->priv->manager); } +PurpleConnection * +purple_media_get_connection(PurpleMedia *media) +{ + PurpleConnection *pc; + g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL); + g_object_get(G_OBJECT(media), "connection", &pc, NULL); + return pc; +} + void purple_media_error(PurpleMedia *media, const gchar *error, ...) {