X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-tny-account.h;h=75f67ea00f09af4a4e78d4c04f1b8bbbd7052b33;hp=867f19ab9c210d061b16800193720df13a391c44;hb=1a9626a1582455159bfeb0997aab45e589088859;hpb=85e6aca5e8c16f61f95e29b62ea295d785c9cbdf diff --git a/src/modest-tny-account.h b/src/modest-tny-account.h index 867f19a..75f67ea 100644 --- a/src/modest-tny-account.h +++ b/src/modest-tny-account.h @@ -42,6 +42,13 @@ G_BEGIN_DECLS +typedef struct +{ + guint local_size; + guint msg_count; + guint folders; +} ModestFolderStats; + /** * modest_tny_account_new_from_account: * @account_mgr: a valid account mgr instance @@ -52,7 +59,6 @@ G_BEGIN_DECLS * @forget_pass_func: the forget-password function * * get a tnyaccount corresponding to the server_accounts (store or transport) for this account. - * NOTE: this function does not set the camel session or the get/forget password functions * * Returns: a new TnyAccount or NULL in case of error. */ @@ -65,6 +71,20 @@ modest_tny_account_new_from_account (ModestAccountMgr *account_mgr, const gchar /** + * modest_tny_account_update_from_account: + * @tny_account: a valid tny_account + * + * update a tnyaccount corresponding to the server_accounts (store or transport) for this account. + * + * Returns: a TRUE or FALSE in case of error. + */ +gboolean +modest_tny_account_update_from_account (TnyAccount *tny_account, + TnyGetPassFunc get_pass_func, + TnyForgetPassFunc forget_pass_func); + + +/** * modest_tny_account_new_for_local_folders: * @account_mgr: a valid account mgr instance * @session: a tny camel session @@ -102,8 +122,11 @@ TnyAccount* modest_tny_account_new_for_per_account_local_outbox_folder ( */ TnyAccount* modest_tny_account_new_from_server_account_name (ModestAccountMgr *account_mgr, - TnySessionCamel *session, const gchar* server_account_name); - + TnySessionCamel *session, + const gchar* server_account_name, + TnyGetPassFunc get_pass_func, + TnyForgetPassFunc forget_pass_func); + /** * modest_tny_account_get_special_folder: * @self: a TnyAccount @@ -122,36 +145,27 @@ TnyFolder* modest_tny_account_get_special_folder (TnyAccount *self, TnyFolderType special_type); -/** - * modest_tny_folder_store_get_folder_count: - * @self: a #TnyFolderStore - * - * gets the number of folders of the account - * - * Returns: the number of folder, or -1 in case of error - **/ -gint modest_tny_folder_store_get_folder_count (TnyFolderStore *self); +typedef void (*GetFolderStatsCallback) (ModestFolderStats stats, + gpointer user_data); /** - * modest_tny_folder_store_get_message_count: - * @self: - * - * gets the number of messages in the account + * modest_tny_folder_store_get_folder_stats: + * @self: a #TnyFolderStore * - * Returns: the number of messages, or -1 in case of error **/ -gint modest_tny_folder_store_get_message_count (TnyFolderStore *self); +void +modest_tny_folder_store_get_folder_stats (TnyFolderStore *self, + GetFolderStatsCallback callback, + GetFolderStatsCallback status_callback, + gpointer user_data); /** - * modest_tny_folder_store_get_local_size: - * @self: - * - * gets the total size occupied by the account in the local storage - * device - * - * Returns: the total size in bytes, or -1 in case of error - **/ -gint modest_tny_folder_store_get_local_size (TnyFolderStore *self); + * modest_tny_folder_store_is_remote: + * @folder_store: The folder store (folder or account) that needs to + * decide if need a connection in subsequent operations. + * @return value: Whether a connection is necessary for this folder_store. + */ +gboolean modest_tny_folder_store_is_remote (TnyFolderStore *self); /** modest_tny_account_get_parent_modest_account_name_for_server_account: * Get the name of the parent modest account of which the server account is a part. @@ -173,7 +187,38 @@ typedef void (*ModestTnyAccountGetMmcAccountNameCallback) (TnyStoreAccount* self * calling the callback (if not NULL) to notify that the name is changed. * if the name was changed. The callback will not be called if the name was not changed. */ -void modest_tny_account_get_mmc_account_name (TnyStoreAccount* self, ModestTnyAccountGetMmcAccountNameCallback callback, gpointer user_data); +void modest_tny_account_get_mmc_account_name (TnyStoreAccount* self, + ModestTnyAccountGetMmcAccountNameCallback callback, + gpointer user_data); + + +/** modest_tny_account_is_virtual_local_folders: + * @self A TnyAccount. + * + * A convenience function to identify whether TnyAccount + * is the virtual local folders account, containing the folders from local_folders/ + * and the outboxes from outboxes//. + **/ +gboolean modest_tny_account_is_virtual_local_folders (TnyAccount *self); + +/** modest_tny_account_is_memory_card_account: + * @self A TnyAccount. + * + * A convenience function to identify whether TnyAccount + * is the memory card account. + **/ +gboolean modest_tny_account_is_memory_card_account (TnyAccount *self); + +/** + * modest_tny_account_get_protocol_type: + * @self: a #TnyAccount + * + * obtains the transport/store protocol type of @self + * + * Returns: a #ModestProtocolType + */ +ModestProtocolType modest_tny_account_get_protocol_type (TnyAccount *self); + G_END_DECLS