aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2008-12-23 01:56:29 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-12-23 01:56:29 +0800
commitc327778b8d52c90c34f4ac1904ff85bc63e19953 (patch)
treeb456791ad6de0a4c026b64c20377fcd5878e4b09 /libempathy
parent126c9a5781c4e16af4ac56bfcf4e38e967bb1eac (diff)
downloadgsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.tar
gsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.tar.gz
gsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.tar.bz2
gsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.tar.lz
gsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.tar.xz
gsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.tar.zst
gsoc2013-empathy-c327778b8d52c90c34f4ac1904ff85bc63e19953.zip
Make existing contact FT capable when the CM supports it
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> svn path=/trunk/; revision=2011
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-tp-contact-factory.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libempathy/empathy-tp-contact-factory.c b/libempathy/empathy-tp-contact-factory.c
index 479db6602..3058ec18c 100644
--- a/libempathy/empathy-tp-contact-factory.c
+++ b/libempathy/empathy-tp-contact-factory.c
@@ -843,6 +843,7 @@ get_requestable_channel_classes_cb (TpProxy *connection,
GValue class = {0,};
GValue *chan_type, *handle_type;
GHashTable *fixed_prop;
+ GList *l;
g_value_init (&class, TP_STRUCT_TYPE_REQUESTABLE_CHANNEL_CLASS);
g_value_set_static_boxed (&class, g_ptr_array_index (classes, i));
@@ -869,6 +870,16 @@ get_requestable_channel_classes_cb (TpProxy *connection,
/* We can request file transfer channel to contacts. */
priv->can_request_ft = TRUE;
+ /* Update the capabilities of all contacts */
+ for (l = priv->contacts; l != NULL; l = g_list_next (l)) {
+ EmpathyContact *contact = l->data;
+ EmpathyCapabilities caps;
+
+ caps = empathy_contact_get_capabilities (contact);
+ empathy_contact_set_capabilities (contact, caps |
+ EMPATHY_CAPABILITIES_FT);
+ }
+
break;
}