Mercurial > pidgin
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: |