[gnome-online-accounts] telepathyfactory: filter out Google Talk and Facebook
- From: Marco Barisione <mbari src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-online-accounts] telepathyfactory: filter out Google Talk and Facebook
- Date: Thu, 22 Aug 2013 14:20:30 +0000 (UTC)
commit 9430055f08254608fa1571268806e1280da4327f
Author: Marco Barisione <marco barisione collabora co uk>
Date: Wed Aug 14 17:44:51 2013 +0100
telepathyfactory: filter out Google Talk and Facebook
https://bugzilla.gnome.org/show_bug.cgi?id=696267
src/goabackend/goatelepathyfactory.c | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
---
diff --git a/src/goabackend/goatelepathyfactory.c b/src/goabackend/goatelepathyfactory.c
index a41c1ef..f90e5f5 100644
--- a/src/goabackend/goatelepathyfactory.c
+++ b/src/goabackend/goatelepathyfactory.c
@@ -69,6 +69,7 @@ get_protocols_cb (GObject *source,
gpointer user_data)
{
GSimpleAsyncResult *outer_result = user_data;
+ GQuark facebook_quark, google_talk_quark;
GList *protocols = NULL;
GList *ret;
GList *l;
@@ -82,10 +83,29 @@ get_protocols_cb (GObject *source,
return;
}
+ facebook_quark = g_quark_from_static_string ("facebook");
+ google_talk_quark = g_quark_from_static_string ("google-talk");
+
ret = NULL;
for (l = protocols; l != NULL; l = l->next)
{
- GoaTelepathyProvider *provider = goa_telepathy_provider_new_from_protocol (l->data);
+ TpawProtocol *protocol = l->data;
+ const gchar *service_name = tpaw_protocol_get_service_name (protocol);
+ GQuark service_quark = g_quark_try_string (service_name);
+ GoaTelepathyProvider *provider;
+
+ /* If the service is handled natively by GOA, so we don't allow
+ * the creation of a Telepathy-only account. */
+#if GOA_FACEBOOK_ENABLED
+ if (service_quark == facebook_quark)
+ continue;
+#endif
+#if GOA_GOOGLE_ENABLED
+ if (service_quark == google_talk_quark)
+ continue;
+#endif
+
+ provider = goa_telepathy_provider_new_from_protocol (protocol);
ret = g_list_prepend (ret, provider);
}
ret = g_list_reverse (ret);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]