comparison libpurple/media/media.c @ 29151:30e8ab2a4bc2

Add a conference-type parameter to PurpleMedia.
author maiku@pidgin.im
date Fri, 23 Oct 2009 00:01:54 +0000
parents e18c1d347e37
children 41ae97b7e97e
comparison
equal deleted inserted replaced
29150:c9845a081a3a 29151:30e8ab2a4bc2
107 { 107 {
108 #ifdef USE_VV 108 #ifdef USE_VV
109 PurpleMediaManager *manager; 109 PurpleMediaManager *manager;
110 PurpleAccount *account; 110 PurpleAccount *account;
111 FsConference *conference; 111 FsConference *conference;
112 gchar *conference_type;
112 gboolean initiator; 113 gboolean initiator;
113 gpointer prpl_data; 114 gpointer prpl_data;
114 115
115 GHashTable *sessions; /* PurpleMediaSession table */ 116 GHashTable *sessions; /* PurpleMediaSession table */
116 GHashTable *participants; /* FsParticipant table */ 117 GHashTable *participants; /* FsParticipant table */
162 enum { 163 enum {
163 PROP_0, 164 PROP_0,
164 PROP_MANAGER, 165 PROP_MANAGER,
165 PROP_ACCOUNT, 166 PROP_ACCOUNT,
166 PROP_CONFERENCE, 167 PROP_CONFERENCE,
168 PROP_CONFERENCE_TYPE,
167 PROP_INITIATOR, 169 PROP_INITIATOR,
168 PROP_PRPL_DATA, 170 PROP_PRPL_DATA,
169 }; 171 };
170 #endif 172 #endif
171 173
226 g_param_spec_object("conference", 228 g_param_spec_object("conference",
227 "Farsight conference", 229 "Farsight conference",
228 "The FsConference associated with this media.", 230 "The FsConference associated with this media.",
229 FS_TYPE_CONFERENCE, 231 FS_TYPE_CONFERENCE,
230 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE)); 232 G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE));
233
234 g_object_class_install_property(gobject_class, PROP_CONFERENCE_TYPE,
235 g_param_spec_string("conference-type",
236 "Conference Type",
237 "The type of conference that this media object "
238 "has been created to provide.",
239 NULL,
240 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
231 241
232 g_object_class_install_property(gobject_class, PROP_INITIATOR, 242 g_object_class_install_property(gobject_class, PROP_INITIATOR,
233 g_param_spec_boolean("initiator", 243 g_param_spec_boolean("initiator",
234 "initiator", 244 "initiator",
235 "If the local user initiated the conference.", 245 "If the local user initiated the conference.",
457 gst_object_ref(media->priv->conference); 467 gst_object_ref(media->priv->conference);
458 468
459 purple_media_setup_pipeline(media); 469 purple_media_setup_pipeline(media);
460 break; 470 break;
461 } 471 }
472 case PROP_CONFERENCE_TYPE:
473 media->priv->conference_type =
474 g_value_dup_string(value);
475 break;
462 case PROP_INITIATOR: 476 case PROP_INITIATOR:
463 media->priv->initiator = g_value_get_boolean(value); 477 media->priv->initiator = g_value_get_boolean(value);
464 break; 478 break;
465 case PROP_PRPL_DATA: 479 case PROP_PRPL_DATA:
466 media->priv->prpl_data = g_value_get_pointer(value); 480 media->priv->prpl_data = g_value_get_pointer(value);
486 case PROP_ACCOUNT: 500 case PROP_ACCOUNT:
487 g_value_set_pointer(value, media->priv->account); 501 g_value_set_pointer(value, media->priv->account);
488 break; 502 break;
489 case PROP_CONFERENCE: 503 case PROP_CONFERENCE:
490 g_value_set_object(value, media->priv->conference); 504 g_value_set_object(value, media->priv->conference);
505 break;
506 case PROP_CONFERENCE_TYPE:
507 g_value_set_string(value,
508 media->priv->conference_type);
491 break; 509 break;
492 case PROP_INITIATOR: 510 case PROP_INITIATOR:
493 g_value_set_boolean(value, media->priv->initiator); 511 g_value_set_boolean(value, media->priv->initiator);
494 break; 512 break;
495 case PROP_PRPL_DATA: 513 case PROP_PRPL_DATA: