[empathy/next: 9/11] tp-chat: prepare GROUP if needed
- From: Guillaume Desmottes <gdesmott src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy/next: 9/11] tp-chat: prepare GROUP if needed
- Date: Thu, 24 Oct 2013 16:16:14 +0000 (UTC)
commit 4565a79febd9eac1bfa940cdb70bc50c7bf49005
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date: Thu Oct 24 15:47:33 2013 +0200
tp-chat: prepare GROUP if needed
GROUP is no longer a part of CORE so we have to prepare it manually.
libempathy/empathy-tp-chat.c | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
---
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 5a40dbb..718082e 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -1429,6 +1429,16 @@ continue_preparing (EmpathyTpChat *self)
}
static void
+channel_group_prepared_cb (GObject *source,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ EmpathyTpChat *self = user_data;
+
+ continue_preparing (self);
+}
+
+static void
conn_connected_cb (GObject *source,
GAsyncResult *result,
gpointer user_data)
@@ -1445,7 +1455,21 @@ conn_connected_cb (GObject *source,
return;
}
- continue_preparing (self);
+ if (tp_proxy_has_interface_by_id (self,
+ TP_IFACE_QUARK_CHANNEL_INTERFACE_GROUP))
+ {
+ /* If the channel is implementing Group, we need its feature prepared.
+ * We can't list it as a dependency on EMPATHY_TP_CHAT_FEATURE_READY as
+ * we still want to prepare the tp-chat feature on channel not
+ * implementing GROUP. */
+ GQuark features[] = { TP_CHANNEL_FEATURE_GROUP, 0 };
+
+ tp_proxy_prepare_async (self, features, channel_group_prepared_cb, self);
+ }
+ else
+ {
+ continue_preparing (self);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]