X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-account-store.h;h=d82c902e133f858d559c957ce019cd3902e362f4;hp=1ed6d50bb08825ab204c8515fa17dbb1e7266d00;hb=22881be247b8a3e199c3d6275423d0c74a6a0981;hpb=a4af464bbbd542e59720e99e6545ec6281a85cfc diff --git a/src/modest-tny-account-store.h b/src/modest-tny-account-store.h index 1ed6d50..d82c902 100644 --- a/src/modest-tny-account-store.h +++ b/src/modest-tny-account-store.h @@ -34,7 +34,6 @@ #define __MODEST_TNY_ACCOUNT_STORE_H__ #include -#include #include #include #include @@ -89,6 +88,9 @@ typedef enum { } ModestTnyAccountStoreQueryType; +/* We set 5Mb as the upper limit to consider disk full conditions */ +#define MODEST_TNY_ACCOUNT_STORE_MIN_FREE_SPACE 5 * 1024 * 1024 + /** * modest_tny_account_store_get_type: * @@ -126,7 +128,7 @@ TnyAccount* modest_tny_account_store_get_tny_account_by (ModestTnyAccountStore * modest_tny_account_store_get_server_account * @self: a ModestTnyAccountStore instance * @account_name: a modest account name - * @type: the tny account type (#TNY_ACCOUNT_TYPE_STORE or #TNY_ACCOUNT_TYPE_STORE) + * @type: the tny account type (#TNY_ACCOUNT_TYPE_STORE or #TNY_ACCOUNT_TYPE_TRANSPORT) * * Get the tny account corresponding to one of the server_accounts for account with @account_name * @@ -234,18 +236,110 @@ TnyTransportAccount * modest_tny_account_store_get_transport_account_from_outbox TnyTransportAccount * modest_tny_account_store_new_connection_specific_transport_account (ModestTnyAccountStore *self, const gchar *name); +typedef void (*ModestTnyAccountStoreShutdownCallback) (ModestTnyAccountStore *account_store, gpointer userdata); + +/** + * modest_tny_account_store_shutdown: + * @self: a #ModestTnyAccountStore + * @callback: a #ModestTnyAccountStoreShutdownCallback + * @userdata: a #gpointer + * + * Disconnects all registered accounts (forcing syncs for all of them). + */ +void modest_tny_account_store_shutdown (ModestTnyAccountStore *self, + ModestTnyAccountStoreShutdownCallback callback, + gpointer userdata); + +/** + * modest_tny_account_store_is_shutdown: + * @self: a #ModestTnyAccountStore + * + * Check if all accounts are disconnected + * + * Returns: %TRUE if all accounts are disconnected, %FALSE otherwise. + */ +gboolean modest_tny_account_store_is_shutdown (ModestTnyAccountStore *self); + +/** + * modest_tny_account_store_is_send_mail_blocked: + * @self: a #ModestTnyAccountStore + * + * Tells if we've blocked the send queue flush attempts temporally. This is + * usually done when we're editing an account, to prevent sending mails as + * it can cause problems + * + * Returns: %TRUE if sending mail is blocked + */ +gboolean modest_tny_account_store_is_send_mail_blocked (ModestTnyAccountStore *self); + +/** + * modest_tny_account_store_set_send_mail_blocked: + * @self: a #ModestTnyAccountStore + * @blocked: a #gboolean + * + * Sets as blocked/non blocked the send queue flush attempts temporally. This is + * usually done when we're editing an account, to prevent sending mails as + * it can cause problems + */ +void modest_tny_account_store_set_send_mail_blocked (ModestTnyAccountStore *self, gboolean blocked); + +guint modest_tny_account_store_get_num_remote_accounts (ModestTnyAccountStore *self); + /** - * modest_tny_account_store_show_account_settings_dialog: + * modest_tny_account_store_start_send_queues: * @self: a #ModestTnyAccountStore - * @account_name: a string * - * obtains (if already created) or creates (and shows) the settings dialog for - * @account_name + * Instantiates the send queues for the available transport + * accounts. Note that send queues will start to listen to + * connection-changed signals to try to send pending emails ASAP + **/ +void modest_tny_account_store_start_send_queues (ModestTnyAccountStore *self); + +/** + * modest_utils_check_disk_full_error: + * @parent_window: a #GtkWidget that will be used as the parent of information banners that will be shown + * @err: a #GError + * @alternate: a string that contains the error that will be shown if + * the memory full conditions happen in the MMC external storage + * + * Shows an information banner if the passed #GError is a disk full error. + * + * Returns: TRUE if it's a disk full error, false otherwise + **/ +gboolean modest_tny_account_store_check_disk_full_error (ModestTnyAccountStore *self, + GtkWidget *parent_window, + GError *err, + TnyAccount *account, + const gchar *alternate); + +/** + * modest_utils_is_disk_full_error: + * @error: a #GError + * @mail_op: the #ModestMailOperation that returned the error + * @is_mmc: returns if the disk full error happens in the external MMC or not + * + * This function returns if the given #GError is a disk full error or + * not, whithout showing anything to the user. The optional #is_mmc + * returns TRUE if the disk full conditions happen in the external MMC + * account + * + * Returns: TRUE if is a memory full error, FALSE otherwise. + **/ +gboolean modest_tny_account_store_is_disk_full_error (ModestTnyAccountStore *self, + GError *error, + TnyAccount *account); + + +/** + * modest_tny_account_store_forget_password_in_memory + * @self: a TnyAccountStore instance + * @account: A server account. * - * Returns: a #ModesAccountSettingsDialog + * Forget any password stored in memory for this account. + * For instance, this should be called when the user has changed the password in the account settings. */ -GtkWidget *modest_tny_account_store_show_account_settings_dialog (ModestTnyAccountStore *self, - const gchar *account_name); +void modest_tny_account_store_forget_password_in_memory (ModestTnyAccountStore *self, + const gchar *server_account_name); G_END_DECLS