changeset 29545:30e8ab2a4bc2

Add a conference-type parameter to PurpleMedia.
author maiku@pidgin.im
date Fri, 23 Oct 2009 00:01:54 +0000
parents c9845a081a3a
children 9f16127441e8
files libpurple/media/media.c
diffstat 1 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/media/media.c	Fri Oct 23 00:00:44 2009 +0000
+++ b/libpurple/media/media.c	Fri Oct 23 00:01:54 2009 +0000
@@ -109,6 +109,7 @@
 	PurpleMediaManager *manager;
 	PurpleAccount *account;
 	FsConference *conference;
+	gchar *conference_type;
 	gboolean initiator;
 	gpointer prpl_data;
 
@@ -164,6 +165,7 @@
 	PROP_MANAGER,
 	PROP_ACCOUNT,
 	PROP_CONFERENCE,
+	PROP_CONFERENCE_TYPE,
 	PROP_INITIATOR,
 	PROP_PRPL_DATA,
 };
@@ -229,6 +231,14 @@
 			FS_TYPE_CONFERENCE,
 			G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE));
 
+	g_object_class_install_property(gobject_class, PROP_CONFERENCE_TYPE,
+			g_param_spec_string("conference-type",
+			"Conference Type",
+			"The type of conference that this media object "
+			"has been created to provide.",
+			NULL,
+			G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
+
 	g_object_class_install_property(gobject_class, PROP_INITIATOR,
 			g_param_spec_boolean("initiator",
 			"initiator",
@@ -459,6 +469,10 @@
 			purple_media_setup_pipeline(media);
 			break;
 		}
+		case PROP_CONFERENCE_TYPE:
+			media->priv->conference_type =
+					g_value_dup_string(value);
+			break;
 		case PROP_INITIATOR:
 			media->priv->initiator = g_value_get_boolean(value);
 			break;
@@ -489,6 +503,10 @@
 		case PROP_CONFERENCE:
 			g_value_set_object(value, media->priv->conference);
 			break;
+		case PROP_CONFERENCE_TYPE:
+			g_value_set_string(value,
+					media->priv->conference_type);
+			break;
 		case PROP_INITIATOR:
 			g_value_set_boolean(value, media->priv->initiator);
 			break;