return NULL;
}
+static void
+account_settings_remove_from_unset (EmpathyAccountSettings *settings,
+ const gchar *param)
+{
+ EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
+ int idx;
+ gchar *val;
+
+ for (idx = 0; idx < priv->unset_parameters->len; idx++)
+ {
+ val = g_array_index (priv->unset_parameters, gchar *, idx);
+
+ if (!tp_strdiff (val, param))
+ {
+ priv->unset_parameters =
+ g_array_remove_index (priv->unset_parameters, idx);
+ g_free (val);
+
+ break;
+ }
+ }
+}
+
const GValue *
empathy_account_settings_get_default (EmpathyAccountSettings *settings,
const gchar *param)
return empathy_account_settings_get_default (settings, param);
}
-
void
empathy_account_settings_unset (EmpathyAccountSettings *settings,
const gchar *param)
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_string (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_int32 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_int64 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_uint32 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_uint64 (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
void
EmpathyAccountSettingsPriv *priv = GET_PRIV (settings);
tp_asv_set_boolean (priv->parameters, g_strdup (param), value);
+
+ account_settings_remove_from_unset (settings, param);
}
static void