[telepathy-gabble/master] Add the STUNServers property to call-stream.c.
Mike Ruprecht
mike.ruprecht at collabora.co.uk
Tue Dec 29 05:34:53 PST 2009
---
src/call-stream.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/src/call-stream.c b/src/call-stream.c
index b60865f..b8be54a 100644
--- a/src/call-stream.c
+++ b/src/call-stream.c
@@ -30,6 +30,7 @@
#include "call-stream.h"
#include "call-stream-endpoint.h"
+#include "connection.h"
#include "jingle-content.h"
#include "util.h"
@@ -60,6 +61,7 @@ enum
PROP_LOCAL_CANDIDATES,
PROP_ENDPOINTS,
PROP_TRANSPORT,
+ PROP_STUN_SERVERS,
};
#if 0
@@ -170,6 +172,40 @@ gabble_call_stream_get_property (GObject *object,
break;
}
+ case PROP_STUN_SERVERS:
+ {
+ GPtrArray *arr;
+ GabbleConnection *connection;
+ gchar *stun_server;
+ guint stun_port;
+
+ arr = g_ptr_array_sized_new (1);
+
+ g_object_get (priv->content,
+ "connection", &connection,
+ NULL);
+
+ /* maybe one day we'll support multiple STUN servers */
+ if (gabble_jingle_factory_get_stun_server (
+ connection->jingle_factory, &stun_server, &stun_port))
+ {
+ GValueArray *va = g_value_array_new (2);
+
+ g_value_array_append (va, NULL);
+ g_value_array_append (va, NULL);
+ g_value_init (va->values + 0, G_TYPE_STRING);
+ g_value_init (va->values + 1, G_TYPE_UINT);
+ g_value_take_string (va->values + 0, stun_server);
+ g_value_set_uint (va->values + 1, stun_port);
+ g_ptr_array_add (arr, va);
+ }
+
+ g_object_unref (connection);
+
+ g_value_set_boxed (value, arr);
+ g_ptr_array_unref (arr);
+ break;
+ }
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -236,6 +272,7 @@ gabble_call_stream_class_init (GabbleCallStreamClass *gabble_call_stream_class)
static TpDBusPropertiesMixinPropImpl stream_media_props[] = {
{ "Transport", "transport", NULL },
{ "LocalCandidates", "local-candidates", NULL },
+ { "STUNServers", "stun-servers", NULL },
{ "Endpoints", "endpoints", NULL },
{ NULL }
};
@@ -304,6 +341,13 @@ gabble_call_stream_class_init (GabbleCallStreamClass *gabble_call_stream_class)
g_object_class_install_property (object_class, PROP_TRANSPORT,
param_spec);
+ param_spec = g_param_spec_boxed ("stun-servers", "STUNServers",
+ "List of STUN servers",
+ GABBLE_ARRAY_TYPE_SOCKET_ADDRESS_IP_LIST,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (object_class, PROP_STUN_SERVERS,
+ param_spec);
+
gabble_call_stream_class->dbus_props_class.interfaces = prop_interfaces;
tp_dbus_properties_mixin_class_init (object_class,
G_STRUCT_OFFSET (GabbleCallStreamClass, dbus_props_class));
--
1.5.6.5
More information about the telepathy-commits
mailing list