]> git.0d.be Git - empathy.git/commitdiff
account-settings: use TpProtocol's API to get TpConnectionManagerParam
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 5 Jun 2012 13:00:44 +0000 (15:00 +0200)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 6 Jun 2012 09:28:44 +0000 (11:28 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=677465

libempathy-gtk/empathy-account-widget.c
libempathy/empathy-account-settings.c
libempathy/empathy-account-settings.h

index 1082a9eead0568c7da20ce7f72de03caa29dd930..d5a925b7533a356a47d42f883b326fbc7fcd8b22 100644 (file)
@@ -728,13 +728,14 @@ accounts_widget_generic_setup (EmpathyAccountWidget *self,
     GtkWidget *grid_common_settings,
     GtkWidget *grid_advanced_settings)
 {
-  TpConnectionManagerParam *params, *param;
+  GList *params, *l;
   guint row_common = 0, row_advanced = 0;
 
-  params = empathy_account_settings_get_tp_params (self->priv->settings);
+  params = empathy_account_settings_dup_tp_params (self->priv->settings);
 
-  for (param = params; param != NULL && param->name != NULL; param++)
+  for (l = params; l != NULL; l = g_list_next (l))
     {
+      TpConnectionManagerParam *param = l->data;
       GtkWidget       *grid_settings;
       guint           row;
       GtkWidget       *widget = NULL;
@@ -848,6 +849,8 @@ accounts_widget_generic_setup (EmpathyAccountWidget *self,
 
       g_free (param_name_formatted);
     }
+
+  g_list_free_full (params, (GDestroyNotify) tp_connection_manager_param_free);
 }
 
 static void
index f88ff3dd72d259807c73b73b9707294e1446a06c..7e31297669d339d4d640fc6f6b425e5f71ccc56b 100644 (file)
@@ -689,25 +689,14 @@ empathy_account_settings_new_for_account (TpAccount *account)
       NULL);
 }
 
-TpConnectionManagerParam *
-empathy_account_settings_get_tp_params (EmpathyAccountSettings *settings)
+GList *
+empathy_account_settings_dup_tp_params (EmpathyAccountSettings *settings)
 {
   EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
-  const TpConnectionManagerProtocol *tp_protocol;
 
-  g_return_val_if_fail (priv->manager != NULL, NULL);
-  g_return_val_if_fail (priv->protocol != NULL, NULL);
+  g_return_val_if_fail (priv->protocol_obj != NULL, NULL);
 
-  tp_protocol = tp_connection_manager_get_protocol (priv->manager,
-     priv->protocol);
-  if (tp_protocol == NULL)
-    {
-      DEBUG ("Can't retrieve TpConnectionManagerProtocol for protocol '%s'",
-          priv->protocol);
-      return NULL;
-    }
-
-  return tp_protocol->params;
+  return tp_protocol_dup_params (priv->protocol_obj);
 }
 
 gboolean
@@ -800,23 +789,13 @@ empathy_account_settings_is_unset (EmpathyAccountSettings *settings,
   return FALSE;
 }
 
-static TpConnectionManagerParam *
+static const TpConnectionManagerParam *
 empathy_account_settings_get_tp_param (EmpathyAccountSettings *settings,
     const gchar *param)
 {
-  TpConnectionManagerParam *tp_params =
-      empathy_account_settings_get_tp_params (settings);
-  TpConnectionManagerParam *p;
-
-  for (p = tp_params; p != NULL && p->name != NULL; p++)
-    {
-      if (tp_strdiff (p->name, param))
-        continue;
-
-      return p;
-    }
+  EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
 
-  return NULL;
+  return tp_protocol_get_param (priv->protocol_obj, param);
 }
 
 gboolean
@@ -853,7 +832,7 @@ const GValue *
 empathy_account_settings_get_default (EmpathyAccountSettings *settings,
     const gchar *param)
 {
-  TpConnectionManagerParam *p;
+  const TpConnectionManagerParam *p;
 
   p = empathy_account_settings_get_tp_param (settings, param);
 
@@ -867,7 +846,7 @@ const gchar *
 empathy_account_settings_get_dbus_signature (EmpathyAccountSettings *settings,
     const gchar *param)
 {
-  TpConnectionManagerParam *p;
+  const TpConnectionManagerParam *p;
 
   p = empathy_account_settings_get_tp_param (settings, param);
 
index 25816131c1d9a1d19431226d8327ce4da85eaac3..baa0ad76e3b3eb43e9bda431f3a7d7f48856b6df 100644 (file)
@@ -87,7 +87,7 @@ TpAccount *empathy_account_settings_get_account (
 gboolean empathy_account_settings_has_account (
     EmpathyAccountSettings *settings, TpAccount *account);
 
-TpConnectionManagerParam *empathy_account_settings_get_tp_params (
+GList * empathy_account_settings_dup_tp_params (
     EmpathyAccountSettings *settings);
 
 gboolean empathy_account_settings_have_tp_param (