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;
g_free (param_name_formatted);
}
+
+ g_list_free_full (params, (GDestroyNotify) tp_connection_manager_param_free);
}
static void
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
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
empathy_account_settings_get_default (EmpathyAccountSettings *settings,
const gchar *param)
{
- TpConnectionManagerParam *p;
+ const TpConnectionManagerParam *p;
p = empathy_account_settings_get_tp_param (settings, param);
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);