return modest_account_mgr_get_bool (self, name, MODEST_ACCOUNT_ENABLED, FALSE);
}
+gboolean modest_account_mgr_set_signature (ModestAccountMgr *self, const gchar* name,
+ const gchar* signature, gboolean use_signature)
+{
+ gboolean result = modest_account_mgr_set_bool (self, name, MODEST_ACCOUNT_USE_SIGNATURE,
+ use_signature, FALSE);
+ result = result && modest_account_mgr_set_string (self, name, MODEST_ACCOUNT_SIGNATURE,
+ signature, FALSE);
+ return result;
+}
+
+gchar* modest_account_mgr_get_display_name (ModestAccountMgr *self,
+ const gchar* name)
+{
+ return modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_DISPLAY_NAME, FALSE);
+}
+
+
+
+gchar* modest_account_mgr_get_signature (ModestAccountMgr *self, const gchar* name,
+ gboolean* use_signature)
+{
+ if (use_signature) {
+ *use_signature =
+ modest_account_mgr_get_bool (self, name, MODEST_ACCOUNT_USE_SIGNATURE, FALSE);
+ }
+
+ return modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_SIGNATURE, FALSE);
+}
+
+
+
#if 0 /* Not needed, but works. */
static gint
compare_option_strings_for_name (const gchar* a, const gchar* b)
return result;
}
-
+gchar*
+modest_server_account_get_username (ModestAccountMgr *self, const gchar* account_name)
+{
+ return modest_account_mgr_get_string (self, account_name, MODEST_ACCOUNT_USERNAME,
+ TRUE /* server account */);
+}
+
+void
+modest_server_account_set_username (ModestAccountMgr *self, const gchar* account_name,
+ const gchar* username)
+{
+ modest_account_mgr_set_string (self, account_name, MODEST_ACCOUNT_USERNAME,
+ username, TRUE /* server account */);
+}
+
+void
+modest_server_account_set_password (ModestAccountMgr *self, const gchar* account_name,
+ const gchar* password)
+{
+ modest_account_mgr_set_string (self, account_name, MODEST_ACCOUNT_PASSWORD,
+ password, TRUE /* server account */);
+}
+
+gchar*
+modest_server_account_get_hostname (ModestAccountMgr *self, const gchar* account_name)
+{
+ return modest_account_mgr_get_string (self, account_name, MODEST_ACCOUNT_HOSTNAME,
+ TRUE /* server account */);
+}
+
static ModestProtocol
get_secure_auth_for_conf_string(const gchar* value)
}
#endif
-static ModestServerAccountData*
+ModestServerAccountData*
modest_account_mgr_get_server_account_data (ModestAccountMgr *self, const gchar* name)
{
ModestServerAccountData *data;
}
-static void
+void
modest_account_mgr_free_server_account_data (ModestAccountMgr *self,
ModestServerAccountData* data)
{
g_return_val_if_fail (self, NULL);
g_return_val_if_fail (name, NULL);
- g_return_val_if_fail (modest_account_mgr_account_exists (self, name,FALSE), NULL);
+
+ if (!modest_account_mgr_account_exists (self, name, FALSE)) {
+ /* For instance, maybe you are mistakenly checking for a server account name? */
+ g_warning ("%s: Account %s does not exist.", __FUNCTION__, name);
+ return NULL;
+ }
+
data = g_slice_new0 (ModestAccountData);
data->account_name = g_strdup (name);
}
+gboolean
+modest_account_mgr_unset_default_account (ModestAccountMgr *self)
+{
+ ModestConf *conf;
+
+ g_return_val_if_fail (self, FALSE);
+
+ conf = MODEST_ACCOUNT_MGR_GET_PRIVATE (self)->modest_conf;
+
+ return modest_conf_remove_key (conf, MODEST_CONF_DEFAULT_ACCOUNT, NULL /* err */);
+
+}
+
+gboolean
+modest_account_mgr_set_first_account_as_default (ModestAccountMgr *self)
+{
+ gboolean result = FALSE;
+ GSList *account_names = modest_account_mgr_account_names (self, TRUE /* only enabled */);
+ if(account_names)
+ {
+ const gchar* account_name = (const gchar*)account_names->data;
+ if (account_name)
+ result = modest_account_mgr_set_default_account (self, account_name);
+ }
+
+ /* TODO: Free the strings too? */
+ g_slist_free (account_names);
+
+ return result;
+}
+
gchar*
modest_account_mgr_get_from_string (ModestAccountMgr *self, const gchar* name)
{