#include <glib-object.h>
#include <modest-conf.h>
-#include <modest-account-keys.h>
-#include <modest-protocol-mgr.h>
+#include <modest-defs.h>
+#include <modest-protocol-info.h>
G_BEGIN_DECLS
gpointer user_data);
};
-/*
- * some convenience structs to get bulk data about an account
- */
-struct _ModestServerAccountData {
- gchar *account_name;
- gchar *hostname;
- gchar *username;
- gchar *proto;
- gchar *password;
-};
-typedef struct _ModestServerAccountData ModestServerAccountData;
-
-struct _ModestAccountData {
- gchar *account_name;
- gchar *full_name;
- gchar *email;
- gboolean enabled;
-
- ModestServerAccountData *transport_account;
- ModestServerAccountData *store_account;
-};
-typedef struct _ModestAccountData ModestAccountData;
-
-
/**
- * modest_ui_get_type:
+ * modest_account_mgr_get_type:
*
* get the GType for ModestAccountMgr
*
/**
* modest_account_mgr_add_account:
* @self: a ModestAccountMgr instance
- * @name: the name of the account to create
+ * @name: name (id) of the account, which is a valid UTF8 string that does not contain '/'
* @store_name: the store account (ie. POP/IMAP)
* @transport_name: the transport account (ie. sendmail/SMTP)
* @err: a GError ptr, or NULL to ignore.
/**
* modest_account_mgr_add_server_account:
* @self: a ModestAccountMgr instance
- * @name: name (id) of the account
+ * @name: name (id) of the account, which is a valid UTF8 string that does not contain '/'
* @hostname: the hostname
* @username: the username
* @password: the password
const gchar *hostname,
const gchar *username,
const gchar *password,
- const gchar *proto);
+ ModestProtocol proto);
/**
* modest_account_mgr_remove_account:
* @self: a ModestAccountMgr instance
* @name: the name of the account to remove
- * @err: a GError ptr, or NULL to ignore.
+ * @server_account: TRUE if the account to remove is a server account
+ * @err: a #GError ptr, or NULL to ignore.
*
* remove an existing account. the account with @name should already exist
*
GSList* modest_account_mgr_search_server_accounts (ModestAccountMgr *self,
const gchar* account_name,
ModestProtocolType type,
- const gchar* proto);
+ ModestProtocol proto);
/**
* modest_account_mgr_account_exists:
gboolean server_account,
GError **err);
-/**
- * modest_account_mgr_get_account_data:
- * @self: a ModestAccountMgr instance
- * @name: the name of the account
- *
- * get information about an account
- *
- * Returns: a ModestAccountData structure with information about the account.
- * the data should not be changed, and be freed with modest_account_mgr_free_account_data
- */
-ModestAccountData *modest_account_mgr_get_account_data (ModestAccountMgr *self,
- const gchar* name);
-
-
-/**
- * modest_account_mgr_free_account_data:
- * @self: a ModestAccountMgr instance
- * @data: a ModestAccountData instance
- *
- * free the account data structure
- */
-void modest_account_mgr_free_account_data (ModestAccountMgr *self,
- ModestAccountData *data);
-
-/**
- * modest_account_mgr_account_set_enabled
- * @self: a ModestAccountMgr instance
- * @name: the account name
- * @enabled: if TRUE, the account will be enabled, if FALSE, it will be disabled
- *
- * enable/disabled an account
- *
- * Returns: TRUE if it worked, FALSE otherwise
- */
-gboolean modest_account_mgr_account_set_enabled (ModestAccountMgr *self, const gchar* name,
- gboolean enabled);
-
-
-/**
- * modest_account_mgr_account_get_enabled:
- * @self: a ModestAccountMgr instance
- * @name: the account name to check
- *
- * check whether a certain account is enabled
- *
- * Returns: TRUE if it is enabled, FALSE otherwise
- */
-gboolean modest_account_mgr_account_get_enabled (ModestAccountMgr *self, const gchar* name);
-
/**
* modest_account_mgr_get_account_string:
gboolean server_account,
GError **err);
-
/**
* modest_account_mgr_get_account_int:
* @self: a ModestAccountMgr instance
GError **err);
/**
+ * modest_account_mgr_get_list:
+ * @self: a ModestAccountMgr instance
+ * @name: the name of the account
+ * @key: the key of the value to get
+ * @list_type: the type of the members of the list
+ * @server_account: if TRUE, this is a server account
+ * @err: a GError ptr, or NULL to ignore.
+ *
+ * get a config list of values of type @list_type of an account
+ *
+ * Returns: a newly allocated list of elements
+ * @err gives details in case of error
+ */
+GSList* modest_account_mgr_get_list (ModestAccountMgr *self,
+ const gchar *name,
+ const gchar *key,
+ ModestConfValueType list_type,
+ gboolean server_account,
+ GError **err);
+
+/**
* modest_account_mgr_set_account_string:
* @self: a ModestAccountMgr instance
* @name: the name of the account
gboolean server_account,
GError **err);
-
/**
- * modest_account_mgr_get_list:
+ * modest_account_mgr_set_list:
* @self: a ModestAccountMgr instance
* @name: the name of the account
- * @key: the key of the value to get
+ * @key: the key of the value to set
+ * @val: the list with the values to set
* @list_type: the type of the members of the list
* @server_account: if TRUE, this is a server account
* @err: a GError ptr, or NULL to ignore.
*
- * get a config list of values of type @list_type of an account
- *
- * Returns: a newly allocated list of elements
+ * set a config list of values of type @list_type of an account
* @err gives details in case of error
*/
-GSList* modest_account_mgr_get_list (ModestAccountMgr *self,
+void modest_account_mgr_set_list (ModestAccountMgr *self,
const gchar *name,
const gchar *key,
+ GSList *val,
ModestConfValueType list_type,
gboolean server_account,
GError **err);