+ * Returns: TRUE if it worked, FALSE otherwise
+ */
+gboolean modest_account_mgr_set_connection_specific_smtp (ModestAccountMgr *self,
+ const gchar* connection_id, const gchar* server_account_name);
+
+/**
+ * modest_account_mgr_remove_connection_specific_smtp
+ * @self: a ModestAccountMgr instance
+ * @connection_id: A libconic IAP connection name
+ *
+ * Disassociate a server account to use with the specific connection for this account.
+ *
+ * Returns: TRUE if it worked, FALSE otherwise
+ */
+gboolean modest_account_mgr_remove_connection_specific_smtp (ModestAccountMgr *self,
+ const gchar* connection_id);
+
+/**
+ * modest_account_mgr_get_use_connection_specific_smtp
+ * @self: a ModestAccountMgr instance
+ * @account_name: the account name
+ * @result: Whether this account should use connection-specific smtp server accounts.
+ */
+gboolean modest_account_mgr_get_use_connection_specific_smtp (ModestAccountMgr *self, const gchar* account_name);
+
+/**
+ * modest_account_mgr_set_use_connection_specific_smtp
+ * @self: a ModestAccountMgr instance
+ * @account_name: the account name
+ * @new_value: New value that indicates if if this account should use connection-specific smtp server accounts.
+ * @result: TRUE if it succeeded, FALSE otherwise
+ */
+gboolean modest_account_mgr_set_use_connection_specific_smtp (ModestAccountMgr *self,
+ const gchar* account_name,
+ gboolean new_value);
+
+/**
+ * modest_account_mgr_get_connection_specific_smtp
+ * @self: a ModestAccountMgr instance
+ * @connection_id: A libconic IAP connection id
+ *
+ * Retrieve a server account to use with this specific connection for this account.
+ *
+ * Returns: a server account name to use for this connection, or NULL if none is specified.
+ */
+gchar* modest_account_mgr_get_connection_specific_smtp (ModestAccountMgr *self,
+ const gchar* connection_id);
+
+
+/**
+ * modest_account_mgr_get_server_account_username:
+ * @self: a ModestAccountMgr instance
+ * @account_name: The name of a server account.
+ *
+ * Gets the username this server account.
+ *
+ * Returns: The username.
+ */
+gchar* modest_account_mgr_get_server_account_username (ModestAccountMgr *self,
+ const gchar* account_name);
+
+/**
+ * modest_account_mgr_set_server_account_username:
+ * @self: a ModestAccountMgr instance
+ * @account_name: The name of a server account.
+ * @username: The new username.
+ *
+ * Sets the username this server account.
+ */
+void modest_account_mgr_set_server_account_username (ModestAccountMgr *self,
+ const gchar* account_name,
+ const gchar* username);
+
+/**
+ * modest_account_mgr_get_server_account_username_has_succeeded:
+ * @self: a ModestAccountMgr instance
+ * @account_name: The name of a server account.
+ *
+ * Whether a connection has ever been successfully made to this account with
+ * the current username. This can be used to avoid asking again for the username
+ * when asking a second time for a non-stored password.
+ *
+ * Returns: TRUE if the username is known to be correct.
+ */
+gboolean modest_account_mgr_get_server_account_username_has_succeeded (ModestAccountMgr *self,
+ const gchar* account_name);
+
+/**
+ * modest_account_mgr_set_server_account_username_has_succeeded:
+ * @self: a ModestAccountMgr instance
+ * @account_name: The name of a server account.
+ * @succeeded: Whether the username has succeeded
+ *
+ * Sets whether the username is known to be correct.