Fix modest_tny_msg_header_get_all_recipients_list (in case from is empty)
[modest] / src / modest-account-mgr.h
index 930be49..679c97d 100644 (file)
@@ -33,8 +33,8 @@
 
 #include <glib-object.h>
 #include <modest-conf.h>
-#include <modest-defs.h>
-#include <modest-protocol-info.h>
+#include <modest-protocol-registry.h>
+#include <modest-account-settings.h>
 
 G_BEGIN_DECLS
 
@@ -79,6 +79,10 @@ struct _ModestAccountMgrClass {
        void (* display_name_changed)   (ModestAccountMgr *obj, 
                                         const gchar *account,
                                         gpointer user_data);
+       
+       void (* account_updated)   (ModestAccountMgr *obj, 
+                        const gchar *account,
+                        gpointer user_data);
 };
 
 /**
@@ -102,6 +106,18 @@ ModestAccountMgr*        modest_account_mgr_new            (ModestConf *modest_c
 
 
 /**
+ * modest_account_mgr_add_account_from_settings:
+ * @self: a #ModestAccountMgr instance
+ * @self: a #ModestSettings
+ * 
+ * Create a new account from a @settings instance.
+ *
+ * Returns: TRUE if the creation succeeded, FALSE otherwise,
+ */
+gboolean        modest_account_mgr_add_account_from_settings    (ModestAccountMgr *self,
+                                                                ModestAccountSettings *settings);
+
+/**
  * modest_account_mgr_add_account:
  * @self: a ModestAccountMgr instance
  * @name: name (id) of the account, which is a valid UTF8 string that does not contain '/'
@@ -119,7 +135,7 @@ gboolean        modest_account_mgr_add_account    (ModestAccountMgr *self,
                                                   const gchar *display_name,
                                                   const gchar *user_fullname,
                                                   const gchar *user_email,
-                                                  const gchar *retrieve_type,
+                                                  ModestAccountRetrieveType retrieve_type,
                                                   const gchar* store_name,
                                                   const gchar* transport_name,
                                                   gboolean enabled);
@@ -147,9 +163,9 @@ gboolean modest_account_mgr_add_server_account    (ModestAccountMgr *self,
                                                   const guint portnumber,
                                                   const gchar *username,
                                                   const gchar *password,
-                                                  ModestTransportStoreProtocol proto,
-                                                  ModestConnectionProtocol security,
-                                                  ModestAuthProtocol auth);
+                                                  ModestProtocolType proto,
+                                                  ModestProtocolType security,
+                                                  ModestProtocolType auth);
 
 
 /**
@@ -165,7 +181,7 @@ gboolean modest_account_mgr_add_server_account    (ModestAccountMgr *self,
  */
 gboolean modest_account_mgr_add_server_account_uri    (ModestAccountMgr *self,
                                                       const gchar *name,
-                                                      ModestTransportStoreProtocol proto,
+                                                      ModestProtocolType proto,
                                                       const gchar* uri);
 
 /**
@@ -185,6 +201,18 @@ gboolean        modest_account_mgr_remove_account         (ModestAccountMgr *sel
                                                           const gchar* name);
 
 /**
+ * modest_account_mgr_remove_account:
+ * @self: a ModestAccountMgr instance
+ * @name: the name of the server account to remove
+ * 
+ * remove an existing server account. This is only for internal use.
+ *
+ * Returns: TRUE if the operation succeeded, FALSE otherwise,
+ */
+gboolean        modest_account_mgr_remove_server_account         (ModestAccountMgr *self,
+                                                                 const gchar* name);
+
+/**
  * modest_account_mgr_account_names:
  * @self: a ModestAccountMgr instance
  * @only_enabled: Whether only enabled accounts should be returned.
@@ -236,6 +264,18 @@ gboolean   modest_account_mgr_account_with_display_name_exists (ModestAccountMgr *
                                                                     const gchar *display_name);
 
 /**
+ * modest_account_mgr_check_already_configured_account:
+ * @self: a #ModestAccountMgr
+ * @settings: a #ModestAccountSettings *settings
+ *
+ * Checks if there's already an active store account with the same settings
+ *
+ * Returns: %TRUE if account setup exists
+ */
+gboolean        modest_account_mgr_check_already_configured_account (ModestAccountMgr * self,
+                                                                    ModestAccountSettings *settings);
+
+/**
  * modest_account_mgr_unset:
  * @self: a ModestAccountMgr instance
  * @name: the name of the account
@@ -330,7 +370,11 @@ void  modest_account_mgr_set_display_name (ModestAccountMgr *self,
                                           const gchar *account_name,
                                           const gchar *display_name);
 
+gboolean modest_account_mgr_singleton_protocol_exists (ModestAccountMgr *mgr,
+                                                      ModestProtocolType protocol_type);
 
+gchar * modest_account_mgr_get_string (ModestAccountMgr *self, const gchar *name,
+                                      const gchar *key, gboolean server_account);
 G_END_DECLS
 
 #endif /* __MODEST_ACCOUNT_MGR_H__ */