[Telepathy-commits] [telepathy-gabble/master] GabbleMediaStream: make relay-info settable at construct time
Simon McVittie
simon.mcvittie at collabora.co.uk
Wed Mar 4 04:42:49 PST 2009
---
src/media-stream.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/media-stream.c b/src/media-stream.c
index e737d9c..2e1eef9 100644
--- a/src/media-stream.c
+++ b/src/media-stream.c
@@ -122,6 +122,8 @@ struct _GabbleMediaStreamPrivate
gchar *nat_traversal;
/* GPtrArray(GValueArray(STRING, UINT)) */
GPtrArray *stun_servers;
+ /* GPtrArray(GHashTable(string => GValue)) */
+ GPtrArray *relay_info;
/* These are really booleans, but gboolean is signed. Thanks, GLib */
unsigned closed:1;
@@ -348,8 +350,7 @@ gabble_media_stream_get_property (GObject *object,
g_value_set_boolean (value, priv->created_locally);
break;
case PROP_RELAY_INFO:
- /* a stub implementation, for now */
- g_value_take_boxed (value, g_ptr_array_sized_new (0));
+ g_value_set_boxed (value, priv->relay_info);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -441,6 +442,10 @@ gabble_media_stream_set_property (GObject *object,
g_assert (priv->nat_traversal == NULL);
priv->nat_traversal = g_value_dup_string (value);
break;
+ case PROP_RELAY_INFO:
+ g_assert (priv->relay_info == NULL);
+ priv->relay_info = g_value_dup_boxed (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -577,7 +582,7 @@ gabble_media_stream_class_init (GabbleMediaStreamClass *gabble_media_stream_clas
param_spec = g_param_spec_boxed ("relay-info", "Relay info",
"Array of mappings containing relay server information",
TP_ARRAY_TYPE_STRING_VARIANT_MAP_LIST,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_RELAY_INFO, param_spec);
param_spec = g_param_spec_string ("nat-traversal", "NAT traversal",
@@ -693,6 +698,9 @@ gabble_media_stream_finalize (GObject *object)
if (priv->stun_servers != NULL)
g_boxed_free (tp_type_dbus_array_su (), priv->stun_servers);
+ if (priv->relay_info != NULL)
+ g_boxed_free (TP_ARRAY_TYPE_STRING_VARIANT_MAP_LIST, priv->relay_info);
+
g_value_unset (&priv->native_codecs);
g_value_unset (&priv->native_candidates);
--
1.5.6.5
More information about the telepathy-commits
mailing list