# HG changeset patch # User Mike Ruprecht # Date 1235527137 0 # Node ID 7738f530a967da1e73b2fe91c684f7495aac07d4 # Parent dfb6fbd89ac215cae112f5c671e6aa33c6c6dba4 Added the connection property back to PurpleMedia. diff -r dfb6fbd89ac2 -r 7738f530a967 libpurple/media.c --- 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, ...) { diff -r dfb6fbd89ac2 -r 7738f530a967 libpurple/media.h --- a/libpurple/media.h Tue Feb 24 23:42:38 2009 +0000 +++ b/libpurple/media.h Wed Feb 25 01:58:57 2009 +0000 @@ -383,6 +383,15 @@ GstElement *purple_media_get_pipeline(PurpleMedia *media); /** + * Gets the PurpleConnection this media session is on. + * + * @param media The media session to retrieve the connection from. + * + * @return The connection retrieved. + */ +PurpleConnection *purple_media_get_connection(PurpleMedia *media); + +/** * Signals an error in the media session. * * @param media The media object to set the state on. diff -r dfb6fbd89ac2 -r 7738f530a967 libpurple/mediamanager.c --- a/libpurple/mediamanager.c Tue Feb 24 23:42:38 2009 +0000 +++ b/libpurple/mediamanager.c Wed Feb 25 01:58:57 2009 +0000 @@ -239,6 +239,7 @@ media = PURPLE_MEDIA(g_object_new(purple_media_get_type(), "manager", manager, + "connection", gc, "conference", conference, "initiator", initiator, NULL));