Modified webpage: now tinymail repository is in gitorious.
[modest] / src / modest-tny-account.h
index fdc7340..75f67ea 100644 (file)
 
 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.
@@ -195,6 +209,16 @@ gboolean modest_tny_account_is_virtual_local_folders (TnyAccount *self);
  **/
 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