[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