X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-account-mgr-helpers.c;h=8930c357dd5981019cdfaa7979334702d379ca33;hp=57ba2320e4bd862a4c457a9bf992ddda9eec16d7;hb=aac5700b1184e425df31f1775d054459abb279e4;hpb=7682620c7cd97669d2d99283c038c63433c1d66d diff --git a/src/modest-account-mgr-helpers.c b/src/modest-account-mgr-helpers.c index 57ba232..8930c35 100644 --- a/src/modest-account-mgr-helpers.c +++ b/src/modest-account-mgr-helpers.c @@ -37,18 +37,14 @@ gboolean modest_account_mgr_set_enabled (ModestAccountMgr *self, const gchar* name, gboolean enabled) { - return modest_account_mgr_set_bool (self, name, - MODEST_ACCOUNT_ENABLED, enabled, - FALSE, NULL); + return modest_account_mgr_set_bool (self, name, MODEST_ACCOUNT_ENABLED, enabled,FALSE); } gboolean modest_account_mgr_get_enabled (ModestAccountMgr *self, const gchar* name) { - return modest_account_mgr_get_bool (self, name, - MODEST_ACCOUNT_ENABLED, FALSE, - NULL); + return modest_account_mgr_get_bool (self, name, MODEST_ACCOUNT_ENABLED, FALSE); } @@ -58,31 +54,22 @@ modest_account_mgr_get_server_account_data (ModestAccountMgr *self, const gchar* ModestServerAccountData *data; gchar *proto; - g_return_val_if_fail (modest_account_mgr_account_exists (self, name, - TRUE, NULL), NULL); + g_return_val_if_fail (modest_account_mgr_account_exists (self, name, TRUE), NULL); data = g_slice_new0 (ModestServerAccountData); data->account_name = g_strdup (name); - data->hostname = modest_account_mgr_get_string (self, name, - MODEST_ACCOUNT_HOSTNAME, - TRUE, NULL); - data->username = modest_account_mgr_get_string (self, name, - MODEST_ACCOUNT_USERNAME, - TRUE, NULL); - - proto = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_PROTO, - TRUE, NULL); - data->proto = modest_protocol_info_get_protocol (proto); + data->hostname = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_HOSTNAME,TRUE); + data->username = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_USERNAME,TRUE); + proto = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_PROTO, TRUE); + data->proto = modest_protocol_info_get_protocol (proto); g_free (proto); + + data->last_updated = modest_account_mgr_get_int (self, name, MODEST_ACCOUNT_LAST_UPDATED,TRUE); - data->password = modest_account_mgr_get_string (self, name, - MODEST_ACCOUNT_PASSWORD, - TRUE, NULL); - - data->options = modest_account_mgr_get_list (self, name, - MODEST_ACCOUNT_OPTIONS, - MODEST_CONF_VALUE_STRING, - TRUE, NULL); + data->password = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_PASSWORD, TRUE); + data->uri = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_URI,TRUE); + data->options = modest_account_mgr_get_list (self, name, MODEST_ACCOUNT_OPTIONS, + MODEST_CONF_VALUE_STRING, TRUE); return data; } @@ -125,45 +112,47 @@ modest_account_mgr_get_account_data (ModestAccountMgr *self, const gchar* na { ModestAccountData *data; gchar *server_account; + gchar *default_account; 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), NULL); + g_return_val_if_fail (modest_account_mgr_account_exists (self, name,FALSE), NULL); data = g_slice_new0 (ModestAccountData); - + data->account_name = g_strdup (name); data->display_name = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_DISPLAY_NAME, - FALSE, NULL); - data->fullname = modest_account_mgr_get_string (self, name, + FALSE); + data->fullname = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_FULLNAME, - FALSE, NULL); + FALSE); data->email = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_EMAIL, - FALSE, NULL); - data->enabled = modest_account_mgr_get_enabled (self, name); + FALSE); + data->is_enabled = modest_account_mgr_get_enabled (self, name); + + default_account = modest_account_mgr_get_default_account (self); + data->is_default = (default_account && strcmp (default_account, name) == 0); + g_free (default_account); /* store */ server_account = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_STORE_ACCOUNT, - FALSE, NULL); + FALSE); if (server_account) { data->store_account = - modest_account_mgr_get_server_account_data (self, - server_account); + modest_account_mgr_get_server_account_data (self, server_account); g_free (server_account); } /* transport */ server_account = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_TRANSPORT_ACCOUNT, - FALSE, NULL); + FALSE); if (server_account) { data->transport_account = - modest_account_mgr_get_server_account_data (self, - server_account); + modest_account_mgr_get_server_account_data (self, server_account); g_free (server_account); } @@ -196,19 +185,27 @@ modest_account_mgr_get_default_account (ModestAccountMgr *self) { gchar *account; ModestConf *conf; + GError *err = NULL; g_return_val_if_fail (self, NULL); conf = MODEST_ACCOUNT_MGR_GET_PRIVATE (self)->modest_conf; - account = modest_conf_get_string (conf, MODEST_CONF_DEFAULT_ACCOUNT, - NULL); + account = modest_conf_get_string (conf, MODEST_CONF_DEFAULT_ACCOUNT, &err); + + if (err) { + g_printerr ("modest: failed to get '%s': %s\n", + MODEST_CONF_DEFAULT_ACCOUNT, err->message); + g_error_free (err); + g_free (account); + return NULL; + } /* it's not really an error if there is no default account */ if (!account) return NULL; /* sanity check */ - if (!modest_account_mgr_account_exists (self, account, FALSE, NULL)) { + if (!modest_account_mgr_account_exists (self, account, FALSE)) { g_printerr ("modest: default account does not exist\n"); g_free (account); return NULL; @@ -225,7 +222,7 @@ modest_account_mgr_set_default_account (ModestAccountMgr *self, const gchar* ac g_return_val_if_fail (self, FALSE); g_return_val_if_fail (account, FALSE); - g_return_val_if_fail (modest_account_mgr_account_exists (self, account, FALSE, NULL), + g_return_val_if_fail (modest_account_mgr_account_exists (self, account, FALSE), FALSE); conf = MODEST_ACCOUNT_MGR_GET_PRIVATE (self)->modest_conf; @@ -235,67 +232,6 @@ modest_account_mgr_set_default_account (ModestAccountMgr *self, const gchar* ac } - -TnyAccount* -modest_account_mgr_get_tny_account (ModestAccountMgr *self, const gchar* account_name, - TnyAccountType type) -{ - TnyAccount *account = NULL; - TnyList *accounts; - TnyIterator *iter; - gchar *server_account; - const gchar *conf_key; - - g_return_val_if_fail (self, NULL); - g_return_val_if_fail (account_name, NULL); - - switch (type) { - case TNY_ACCOUNT_TYPE_STORE: - conf_key = MODEST_ACCOUNT_STORE_ACCOUNT; break; - case TNY_ACCOUNT_TYPE_TRANSPORT: - conf_key = MODEST_ACCOUNT_TRANSPORT_ACCOUNT; break; - default: - g_return_val_if_reached (NULL); - } - - server_account = modest_account_mgr_get_string (self, account_name, conf_key, FALSE, NULL); - if (!server_account) { - g_printerr ("modest: no %s account specified for %s\n", - type == TNY_ACCOUNT_TYPE_TRANSPORT ? "transport" : "store", account_name); - return NULL; - } - - accounts = tny_simple_list_new (); - tny_account_store_get_accounts (TNY_ACCOUNT_STORE(modest_runtime_get_account_store()), - accounts, type); - iter = tny_list_create_iterator (accounts); - while (tny_iterator_is_done (iter)) { - account = TNY_ACCOUNT(tny_iterator_get_current(iter)); - if (strcmp (tny_account_get_id (account), server_account) == 0) - break; - } - - g_object_unref (G_OBJECT(iter)); - g_object_unref (G_OBJECT(accounts)); - - if (!account) - g_printerr ("modest: no tny %s account found for %s\n", - type == TNY_ACCOUNT_TYPE_TRANSPORT ? "transport" : "store", account_name); - else { - /* sanity check */ - if ((type == TNY_ACCOUNT_TYPE_TRANSPORT && !TNY_IS_TRANSPORT_ACCOUNT(account)) || - (type == TNY_ACCOUNT_TYPE_STORE && !TNY_IS_STORE_ACCOUNT(account))) { - g_printerr ("modest: tny %s acccount found for %s, but was expecting %s account\n", - type == TNY_ACCOUNT_TYPE_TRANSPORT ? "transport" : "store", account_name, - type == TNY_ACCOUNT_TYPE_TRANSPORT ? "store" : "transport"); - g_object_unref (G_OBJECT(account)); - account = NULL; - } - } - return account; -} - - gchar* modest_account_mgr_get_from_string (ModestAccountMgr *self, const gchar* name) { @@ -305,9 +241,9 @@ modest_account_mgr_get_from_string (ModestAccountMgr *self, const gchar* name) g_return_val_if_fail (name, NULL); fullname = modest_account_mgr_get_string (self, name,MODEST_ACCOUNT_FULLNAME, - FALSE, NULL); + FALSE); email = modest_account_mgr_get_string (self, name, MODEST_ACCOUNT_EMAIL, - FALSE, NULL); + FALSE); from = g_strdup_printf ("%s <%s>", fullname ? fullname : "", email ? email : "");