2007-05-23 Murray Cumming <murrayc@murrayc.com>
[modest] / src / modest-tny-account-store.h
index 8667a79..0386769 100644 (file)
@@ -39,6 +39,7 @@
 #include <tny-session-camel.h>
 #include <tny-shared.h>
 #include <tny-folder.h>
+#include <modest-tny-simple-folder-store.h>
 #include <modest-account-mgr.h>
 
 /* other include files */
@@ -68,13 +69,12 @@ struct _ModestTnyAccountStoreClass {
                                      const gchar *account_name,
                                      gpointer user_data);
        void (*password_requested)    (ModestTnyAccountStore *self,
-                                      const gchar *account_name,
+                                      const gchar *server_account_name,
+                                      gchar **username,
                                       gchar **password,
                                       gboolean *remember,
                                       gboolean *cancel,
                                       gpointer user_data);
-
-       
 };
 
 /**
@@ -92,7 +92,8 @@ GType  modest_tny_account_store_get_type   (void) G_GNUC_CONST;
  *
  * Returns: newly created account store or NULL in case of error
  */
-ModestTnyAccountStore*    modest_tny_account_store_new (ModestAccountMgr *account_mgr);
+ModestTnyAccountStore*    modest_tny_account_store_new (ModestAccountMgr *account_mgr,
+                                                       TnyDevice *device);
 
 
 /**
@@ -108,21 +109,35 @@ ModestTnyAccountStore*    modest_tny_account_store_new (ModestAccountMgr *accoun
 TnyAccount* modest_tny_account_store_get_tny_account_by_id  (ModestTnyAccountStore *self,
                                                             const gchar *id);
 
-
 /**
  * modest_tny_account_store_get_tny_account_by_account
  * @self: a ModestTnyAccountStore instance
  * @account_name: an account name
  * @type: the tny account type
  * 
- * get the tny account corresponding to one of the  server_accounts for account with @account_name
+ * Get the tny account corresponding to one of the server_accounts for account with @account_name
  * 
- * Returns: the tnyaccount or NULL in case it's not found or error,
+ * Returns: the tnyaccount for the server account or NULL in case it's not found or error,
  * g_object_unref when it's no longer needed
  */
 TnyAccount* modest_tny_account_store_get_tny_account_by_account (ModestTnyAccountStore *self,
                                                                 const gchar *account_name,
                                                                 TnyAccountType type);
+               
+/**
+ * modest_tny_account_store_get_transport_account_for_open_connection
+ * @self: a ModestTnyAccountStore instance
+ * @account_name: an account name
+ * 
+ * Get the tny account corresponding to the transport server account for the account with @account_name,
+ * returning the connection-specific SMTP-server transport server account if one is specified,
+ * otherwise just returning the regular transport server account.
+ * 
+ * Returns: the tnyaccount for the server account or NULL in case it's not found or error,
+ * g_object_unref when it's no longer needed
+ */                                             
+TnyAccount* modest_tny_account_store_get_transport_account_for_open_connection (ModestTnyAccountStore *self,
+                                                                const gchar *account_name);
 
 /**
  * tny_account_store_get_session
@@ -133,9 +148,18 @@ TnyAccount* modest_tny_account_store_get_tny_account_by_account (ModestTnyAccoun
  *
  * Returns: a tny-camel-session
  */
-TnySessionCamel*    tny_account_store_get_session    (TnyAccountStore *self);
+TnySessionCamel*    modest_tny_account_store_get_session    (TnyAccountStore *self);
 
 
+/** modest_tny_folder_store_is_virtual_local_folders:
+ * @self A TnyFolderStore.
+ * 
+ * A convenience function to identify whether TnyAccount or other TnyFolderStore 
+ * is the virtual local folders store, containing the folders from local_folders/
+ * and the outboxes from outboxes/<account-name>/.
+ **/
+gboolean modest_tny_folder_store_is_virtual_local_folders (TnyFolderStore *self);
+
 G_END_DECLS
 
 #endif /* __MODEST_TNY_ACCOUNT_STORE_H__ */