[Telepathy-commits] [telepathy-gabble/master] GabbleMediaStream: use telepathy-glib GTypes
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Aug 19 10:53:32 PDT 2008
20080721185956-53eee-3a181ee4a075ee101d3b67a5550193908a616363.gz
---
src/media-stream.c | 66 +++++++++++++++++++++++++++++++++------------------
src/media-stream.h | 32 -------------------------
2 files changed, 43 insertions(+), 55 deletions(-)
diff --git a/src/media-stream.c b/src/media-stream.c
index 15dd713..da1bfec 100644
--- a/src/media-stream.c
+++ b/src/media-stream.c
@@ -32,6 +32,7 @@
#include <telepathy-glib/dbus.h>
#include <telepathy-glib/enums.h>
#include <telepathy-glib/errors.h>
+#include <telepathy-glib/gtypes.h>
#include <telepathy-glib/svc-media-interfaces.h>
#define DEBUG_FLAG GABBLE_DEBUG_MEDIA
@@ -147,24 +148,28 @@ gabble_media_stream_init (GabbleMediaStream *self)
{
GabbleMediaStreamPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
GABBLE_TYPE_MEDIA_STREAM, GabbleMediaStreamPrivate);
+ GType candidate_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_CANDIDATE_LIST;
+ GType codec_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_CODEC_LIST;
self->priv = priv;
- g_value_init (&priv->native_codecs, GABBLE_TP_TYPE_CODEC_LIST);
+ g_value_init (&priv->native_codecs, codec_list_type);
g_value_take_boxed (&priv->native_codecs,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CODEC_LIST));
+ dbus_g_type_specialized_construct (codec_list_type));
- g_value_init (&priv->native_candidates, GABBLE_TP_TYPE_CANDIDATE_LIST);
+ g_value_init (&priv->native_candidates, candidate_list_type);
g_value_take_boxed (&priv->native_candidates,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CANDIDATE_LIST));
+ dbus_g_type_specialized_construct (candidate_list_type));
- g_value_init (&priv->remote_codecs, GABBLE_TP_TYPE_CODEC_LIST);
+ g_value_init (&priv->remote_codecs, codec_list_type);
g_value_take_boxed (&priv->remote_codecs,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CODEC_LIST));
+ dbus_g_type_specialized_construct (codec_list_type));
- g_value_init (&priv->remote_candidates, GABBLE_TP_TYPE_CANDIDATE_LIST);
+ g_value_init (&priv->remote_candidates, candidate_list_type);
g_value_take_boxed (&priv->remote_candidates,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CANDIDATE_LIST));
+ dbus_g_type_specialized_construct (candidate_list_type));
}
static GObject *
@@ -330,6 +335,10 @@ gabble_media_stream_class_init (GabbleMediaStreamClass *gabble_media_stream_clas
{
GObjectClass *object_class = G_OBJECT_CLASS (gabble_media_stream_class);
GParamSpec *param_spec;
+ GType transport_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_TRANSPORT_LIST;
+ GType codec_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_CODEC_LIST;
g_type_class_add_private (gabble_media_stream_class,
sizeof (GabbleMediaStreamPrivate));
@@ -523,7 +532,7 @@ gabble_media_stream_class_init (GabbleMediaStreamClass *gabble_media_stream_clas
0,
NULL, NULL,
gabble_marshal_VOID__STRING_BOXED,
- G_TYPE_NONE, 2, G_TYPE_STRING, GABBLE_TP_TYPE_TRANSPORT_LIST);
+ G_TYPE_NONE, 2, G_TYPE_STRING, transport_list_type);
signals[SUPPORTED_CODECS] =
g_signal_new ("supported-codecs",
@@ -532,7 +541,7 @@ gabble_media_stream_class_init (GabbleMediaStreamClass *gabble_media_stream_clas
0,
NULL, NULL,
g_cclosure_marshal_VOID__BOXED,
- G_TYPE_NONE, 1, GABBLE_TP_TYPE_CODEC_LIST);
+ G_TYPE_NONE, 1, codec_list_type);
signals[ERROR] =
g_signal_new ("error",
@@ -787,6 +796,7 @@ gabble_media_stream_new_native_candidate (TpSvcMediaStreamHandler *iface,
GValueArray *transport;
guint component_id;
const gchar *addr;
+ GType candidate_struct_type = TP_STRUCT_TYPE_MEDIA_STREAM_HANDLER_CANDIDATE;
g_assert (GABBLE_IS_MEDIA_STREAM (self));
@@ -805,9 +815,9 @@ gabble_media_stream_new_native_candidate (TpSvcMediaStreamHandler *iface,
candidates = g_value_get_boxed (&priv->native_candidates);
- g_value_init (&candidate, GABBLE_TP_TYPE_CANDIDATE_STRUCT);
+ g_value_init (&candidate, candidate_struct_type);
g_value_take_boxed (&candidate,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CANDIDATE_STRUCT));
+ dbus_g_type_specialized_construct (candidate_struct_type));
dbus_g_type_struct_set (&candidate,
0, candidate_id,
@@ -1015,7 +1025,7 @@ _add_rtp_candidate_node (GabbleMediaSession *session, LmMessageNode *parent,
/* jingle audio only supports the concept of one transport per candidate */
g_assert (transports->len == 1);
- g_value_init (&transport, GABBLE_TP_TYPE_TRANSPORT_STRUCT);
+ g_value_init (&transport, TP_STRUCT_TYPE_MEDIA_STREAM_HANDLER_TRANSPORT);
g_value_set_static_boxed (&transport, g_ptr_array_index (transports, 0));
dbus_g_type_struct_get (&transport,
@@ -1157,6 +1167,8 @@ push_native_candidates (GabbleMediaStream *stream)
GabbleMediaStreamPrivate *priv;
GPtrArray *candidates;
guint i;
+ GType candidate_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_CANDIDATE_LIST;
g_assert (GABBLE_IS_MEDIA_STREAM (stream));
@@ -1172,7 +1184,7 @@ push_native_candidates (GabbleMediaStream *stream)
push_candidate (stream, g_ptr_array_index (candidates, i));
g_value_take_boxed (&priv->native_candidates,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CANDIDATE_LIST));
+ dbus_g_type_specialized_construct (candidate_list_type));
}
void
@@ -1200,6 +1212,7 @@ _gabble_media_stream_post_remote_codecs (GabbleMediaStream *stream,
GabbleMediaStreamPrivate *priv;
LmMessageNode *node;
GPtrArray *codecs;
+ GType codec_struct_type = TP_STRUCT_TYPE_MEDIA_STREAM_HANDLER_CODEC;
g_assert (GABBLE_IS_MEDIA_STREAM (stream));
@@ -1272,9 +1285,9 @@ _gabble_media_stream_post_remote_codecs (GabbleMediaStream *stream,
g_hash_table_insert (params, "bitrate", g_strdup (str));
}
- g_value_init (&codec, GABBLE_TP_TYPE_CODEC_STRUCT);
+ g_value_init (&codec, codec_struct_type);
g_value_take_boxed (&codec,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CODEC_STRUCT));
+ dbus_g_type_specialized_construct (codec_struct_type));
dbus_g_type_struct_set (&codec,
0, id,
@@ -1301,6 +1314,8 @@ push_remote_codecs (GabbleMediaStream *stream)
{
GabbleMediaStreamPrivate *priv;
GPtrArray *codecs;
+ GType codec_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_CODEC_LIST;
g_assert (GABBLE_IS_MEDIA_STREAM (stream));
@@ -1319,7 +1334,7 @@ push_remote_codecs (GabbleMediaStream *stream)
tp_svc_media_stream_handler_emit_set_remote_codecs (stream, codecs);
g_value_take_boxed (&priv->remote_codecs,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CODEC_LIST));
+ dbus_g_type_specialized_construct (codec_list_type));
}
gboolean
@@ -1332,6 +1347,8 @@ _gabble_media_stream_post_remote_candidates (GabbleMediaStream *stream,
LmMessageNode *node;
const gchar *str;
GPtrArray *candidates;
+ GType transport_struct_type = TP_STRUCT_TYPE_MEDIA_STREAM_HANDLER_TRANSPORT;
+ GType candidate_struct_type = TP_STRUCT_TYPE_MEDIA_STREAM_HANDLER_CANDIDATE;
g_assert (GABBLE_IS_MEDIA_STREAM (stream));
@@ -1467,9 +1484,9 @@ _gabble_media_stream_post_remote_candidates (GabbleMediaStream *stream,
gen = atoi (str);
- g_value_init (&transport, GABBLE_TP_TYPE_TRANSPORT_STRUCT);
+ g_value_init (&transport, transport_struct_type);
g_value_take_boxed (&transport,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_TRANSPORT_STRUCT));
+ dbus_g_type_specialized_construct (transport_struct_type));
dbus_g_type_struct_set (&transport,
0, 1, /* component number */
@@ -1488,9 +1505,9 @@ _gabble_media_stream_post_remote_candidates (GabbleMediaStream *stream,
g_ptr_array_add (transports, g_value_get_boxed (&transport));
- g_value_init (&candidate, GABBLE_TP_TYPE_CANDIDATE_STRUCT);
+ g_value_init (&candidate, candidate_struct_type);
g_value_take_boxed (&candidate,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CANDIDATE_STRUCT));
+ dbus_g_type_specialized_construct (candidate_struct_type));
/* FIXME: is this naming scheme sensible? */
candidate_id = g_strdup_printf ("R%d", ++priv->remote_candidate_count);
@@ -1537,6 +1554,8 @@ push_remote_candidates (GabbleMediaStream *stream)
GabbleMediaStreamPrivate *priv;
GPtrArray *candidates;
guint i;
+ GType candidate_list_type =
+ TP_ARRAY_TYPE_MEDIA_STREAM_HANDLER_CANDIDATE_LIST;
g_assert (GABBLE_IS_MEDIA_STREAM (stream));
@@ -1567,7 +1586,7 @@ push_remote_candidates (GabbleMediaStream *stream)
}
g_value_take_boxed (&priv->remote_candidates,
- dbus_g_type_specialized_construct (GABBLE_TP_TYPE_CANDIDATE_LIST));
+ dbus_g_type_specialized_construct (candidate_list_type));
}
static void
@@ -1697,6 +1716,7 @@ _gabble_media_stream_content_node_add_description (GabbleMediaStream *stream,
LmMessageNode *desc_node;
guint i;
const gchar *xmlns;
+ GType codec_struct_type = TP_STRUCT_TYPE_MEDIA_STREAM_HANDLER_CODEC;
g_assert (GABBLE_IS_MEDIA_STREAM (stream));
@@ -1724,7 +1744,7 @@ _gabble_media_stream_content_node_add_description (GabbleMediaStream *stream,
LmMessageNode *pt_node;
CodecParamsFromTpContext ctx;
- g_value_init (&codec, GABBLE_TP_TYPE_CODEC_STRUCT);
+ g_value_init (&codec, codec_struct_type);
g_value_set_static_boxed (&codec, g_ptr_array_index (codecs, i));
dbus_g_type_struct_get (&codec,
diff --git a/src/media-stream.h b/src/media-stream.h
index 794f84e..360860f 100644
--- a/src/media-stream.h
+++ b/src/media-stream.h
@@ -81,38 +81,6 @@ GType gabble_media_stream_get_type (void);
(G_TYPE_INSTANCE_GET_CLASS ((obj), GABBLE_TYPE_MEDIA_STREAM, \
GabbleMediaStreamClass))
-#define GABBLE_TP_TYPE_TRANSPORT_STRUCT (dbus_g_type_get_struct ("GValueArray", \
- G_TYPE_UINT, \
- G_TYPE_STRING, \
- G_TYPE_UINT, \
- G_TYPE_UINT, \
- G_TYPE_STRING, \
- G_TYPE_STRING, \
- G_TYPE_DOUBLE, \
- G_TYPE_UINT, \
- G_TYPE_STRING, \
- G_TYPE_STRING, \
- G_TYPE_INVALID))
-#define GABBLE_TP_TYPE_TRANSPORT_LIST (dbus_g_type_get_collection ("GPtrArray", \
- GABBLE_TP_TYPE_TRANSPORT_STRUCT))
-#define GABBLE_TP_TYPE_CANDIDATE_STRUCT (dbus_g_type_get_struct ("GValueArray", \
- G_TYPE_STRING, \
- GABBLE_TP_TYPE_TRANSPORT_LIST, \
- G_TYPE_INVALID))
-#define GABBLE_TP_TYPE_CANDIDATE_LIST (dbus_g_type_get_collection ("GPtrArray", \
- GABBLE_TP_TYPE_CANDIDATE_STRUCT))
-
-#define GABBLE_TP_TYPE_CODEC_STRUCT (dbus_g_type_get_struct ("GValueArray", \
- G_TYPE_UINT, \
- G_TYPE_STRING, \
- G_TYPE_UINT, \
- G_TYPE_UINT, \
- G_TYPE_UINT, \
- DBUS_TYPE_G_STRING_STRING_HASHTABLE, \
- G_TYPE_INVALID))
-#define GABBLE_TP_TYPE_CODEC_LIST (dbus_g_type_get_collection ("GPtrArray", \
- GABBLE_TP_TYPE_CODEC_STRUCT))
-
#define COMBINED_DIRECTION_GET_DIRECTION(d) \
((TpMediaStreamDirection) ((d) & TP_MEDIA_STREAM_DIRECTION_BIDIRECTIONAL))
#define COMBINED_DIRECTION_GET_PENDING_SEND(d) \
--
1.5.6.3
More information about the Telepathy-commits
mailing list