[next] telepathy-glib: log-store-piding: use tp_account_dup_parameters_vardict()

Guillaume Desmottes gdesmott at kemper.freedesktop.org
Thu Feb 27 06:07:34 PST 2014


Module: telepathy-glib
Branch: next
Commit: fb064afbe7271e7ebeee4e92bed8393db983b058
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=fb064afbe7271e7ebeee4e92bed8393db983b058

Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date:   Tue Feb 18 12:32:11 2014 +0100

log-store-piding: use tp_account_dup_parameters_vardict()

---

 telepathy-logger/log-store-pidgin.c |   35 ++++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

diff --git a/telepathy-logger/log-store-pidgin.c b/telepathy-logger/log-store-pidgin.c
index 549d620..336449b 100644
--- a/telepathy-logger/log-store-pidgin.c
+++ b/telepathy-logger/log-store-pidgin.c
@@ -251,25 +251,29 @@ log_store_pidgin_get_dir (TplLogStore *self,
   gchar *username, *normalized, *tmp;
   gchar *id = NULL; /* if not NULL, it contains a modified version of
                        target id, to be g_free'd */
-  const GHashTable *params;
+  GVariant *params;
+  const gchar *account_param;
 
-  params = tp_account_get_parameters (account);
+  params = tp_account_dup_parameters_vardict (account);
   protocol = tp_account_get_protocol_name (account);
 
+  g_variant_lookup (params, "account", "&s", &account_param);
+
   if (tp_strdiff (protocol, "irc") == 0)
     {
-      const gchar *account_param, *server;
+      const gchar *server;
 
-      account_param = tp_asv_get_string (params, "account");
-      server = tp_asv_get_string (params, "server");
+      g_variant_lookup (params, "server", "&s", &server);
 
       username = g_strdup_printf ("%s@%s", account_param, server);
     }
   else
     {
-      username = g_strdup (tp_asv_get_string (params, "account"));
+      username = g_strdup (account_param);
     }
 
+  g_variant_unref (params);
+
   if (username == NULL)
     {
       DEBUG ("Failed to get account");
@@ -517,18 +521,27 @@ log_store_pidgin_dup_account (TplLogStorePidgin *self,
   for (l = accounts; l != NULL; l = l->next)
     {
       TpAccount *acc = (TpAccount *) l->data;
-      const GHashTable *params;
+      GVariant *params;
+      const gchar *account_param, *server_param;
 
       if (tp_strdiff (tp_account_get_protocol_name (acc), protocol))
         continue;
 
-      params = tp_account_get_parameters (acc);
+      params = tp_account_dup_parameters_vardict (acc);
+
+      g_variant_lookup (params,
+          "account", "&s", &account_param,
+          "server", "&s", &server_param);
 
-      if (!tp_strdiff (username, tp_asv_get_string (params, "account")))
+      if (!tp_strdiff (username, account_param))
         {
-          if (is_irc && tp_strdiff (server, tp_asv_get_string (params, "server")))
-            continue;
+          if (is_irc && tp_strdiff (server, server_param))
+            {
+              g_variant_unref (params);
+              continue;
+            }
 
+          g_variant_unref (params);
           account = g_object_ref (acc);
           break;
         }



More information about the telepathy-commits mailing list