2007-07-31 Philip Van Hoof <pvanhoof@gnome.org>
[modest] / src / modest-tny-account.h
index a2d7dca..fdc7340 100644 (file)
@@ -45,7 +45,7 @@ G_BEGIN_DECLS
 /**
  * modest_tny_account_new_from_account:
  * @account_mgr: a valid account mgr instance
- * @account_name: the account name for which to create a corresponding tny account
+ * @account_name: the modest account name for which to create a corresponding tny account of the given type.
  * @type: the type of account to create (TNY_ACCOUNT_TYPE_STORE or TNY_ACCOUNT_TYPE_TRANSPORT)
  * @session: a tny camel session
  * @get_pass_func: the get-password function
@@ -68,13 +68,15 @@ modest_tny_account_new_from_account (ModestAccountMgr *account_mgr, const gchar
  * modest_tny_account_new_for_local_folders:
  * @account_mgr: a valid account mgr instance
  * @session: a tny camel session
+ * @location_filepath: The location at which the local-folders directory exists, or NULL to specify $HOME.
  * 
  * get the local folders (pseudo) account; you should only need one such account.
  * 
  * Returns: a new local folders TnyAccount or NULL in case of error.
  */
 TnyAccount* modest_tny_account_new_for_local_folders (ModestAccountMgr *account_mgr,
-                                                     TnySessionCamel *session);
+                                                     TnySessionCamel *session,
+                                                     const gchar* location_filepath);
 
 /**
  * modest_tny_account_new_for_per_account_local_outbox_folder:
@@ -89,6 +91,18 @@ TnyAccount* modest_tny_account_new_for_local_folders (ModestAccountMgr *account_
 TnyAccount* modest_tny_account_new_for_per_account_local_outbox_folder (
        ModestAccountMgr *account_mgr, const gchar* account_name,
        TnySessionCamel *session);
+
+/**
+ * modest_tny_account_new_from_server_account_name:
+ * @account_mgr: a valid account mgr instance
+ * @session: a valid TnySessionCamel instance.
+ * @server_account_name: the name of a server account in the configuration system.
+ *
+ * Returns: a new TnyAccount or NULL in case of error.
+ */
+TnyAccount*
+modest_tny_account_new_from_server_account_name (ModestAccountMgr *account_mgr, 
+       TnySessionCamel *session, const gchar* server_account_name);
        
 /**
  * modest_tny_account_get_special_folder:
@@ -101,7 +115,8 @@ TnyAccount* modest_tny_account_new_for_per_account_local_outbox_folder (
  * such as (for example) server-side Sent/Junk mail for IMAP accounts 
  * 
  * Returns: the tny folder corresponding to this special folder, or NULL in case
- * of error, or if the special folder does not exist for this account
+ * of error, or if the special folder does not exist for this account. 
+ * This must be unrefed with g_object_unref().
  */
 TnyFolder*    modest_tny_account_get_special_folder   (TnyAccount *self,
                                                       TnyFolderType special_type);
@@ -148,7 +163,38 @@ const gchar* modest_tny_account_get_parent_modest_account_name_for_server_accoun
  * so it can be retrieved later with 
  * modest_tny_account_get_parent_modest_account_name_for_server_account().
  */
-void modest_tny_account_set_parent_modest_account_name_for_server_account (TnyAccount *self, const gchar* parent_modest_acount_name);
+void modest_tny_account_set_parent_modest_account_name_for_server_account (TnyAccount *account, const gchar* parent_modest_acount_name);
+
+
+typedef void (*ModestTnyAccountGetMmcAccountNameCallback) (TnyStoreAccount* self, gpointer user_data);
+
+/** modest_tny_account_get_mmc_account_name:
+ * Asnchronously get the name of a memory card account and set it in the TnyAccount,
+ * 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);
+
+
+/** 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/<account-name>/.
+ **/
+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);
+
 
 G_END_DECLS