summaryrefslogtreecommitdiff
path: root/telepathy-glib/channel-group.c
diff options
context:
space:
mode:
authorWill Thompson <will.thompson@collabora.co.uk>2009-01-05 15:40:38 +0000
committerWill Thompson <will.thompson@collabora.co.uk>2009-01-07 18:57:50 +0000
commit8ecb67783a6ea45cce9495ccbe5947f887d96851 (patch)
treec6b51e5e3236c2fc2bd217d26898fe85243cb4e5 /telepathy-glib/channel-group.c
parent0a586d1a742b241624134f7d3138133a5007376f (diff)
downloadtelepathy-glib-8ecb67783a6ea45cce9495ccbe5947f887d96851.tar.gz
Emit group-members-changed[-detailed] on MembersChangedDetailed
Diffstat (limited to 'telepathy-glib/channel-group.c')
-rw-r--r--telepathy-glib/channel-group.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/telepathy-glib/channel-group.c b/telepathy-glib/channel-group.c
index 58873edc5..e2e745556 100644
--- a/telepathy-glib/channel-group.c
+++ b/telepathy-glib/channel-group.c
@@ -893,9 +893,23 @@ tp_channel_group_members_changed_detailed_cb (TpChannel *self,
gpointer unused G_GNUC_UNUSED,
GObject *weak_obj G_GNUC_UNUSED)
{
+ const gchar *message;
+ guint actor;
+ guint reason;
+
DEBUG ("%p MembersChangedDetailed: added %u, removed %u, "
"moved %u to LP and %u to RP",
self, added->len, removed->len, local_pending->len, remote_pending->len);
+
+ actor = tp_asv_get_uint32 (details, "actor", NULL);
+ reason = tp_asv_get_uint32 (details, "reason", NULL);
+ message = tp_asv_get_string (details, "message");
+
+ if (message == NULL)
+ message = "";
+
+ handle_members_changed (self, message, added, removed, local_pending,
+ remote_pending, actor, reason, details);
}