X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-account-mgr-priv.h;h=ffb33a7e3a75c00d86ede0a8ce6c7fe202bb126d;hp=eb518d16e1b076b0891ebe0e2952beb80dfb1079;hb=4d39841513a3a7f7aa9d38ab97cb9fcc9171e80b;hpb=c2277fc818b1ba47308bce8b77c6af31c5764f90 diff --git a/src/modest-account-mgr-priv.h b/src/modest-account-mgr-priv.h index eb518d1..ffb33a7 100644 --- a/src/modest-account-mgr-priv.h +++ b/src/modest-account-mgr-priv.h @@ -51,14 +51,167 @@ struct _ModestAccountMgrPrivate { ModestConf *modest_conf; /* We store these as they change, and send notifications every X seconds: */ - GSList *changed_conf_keys; + GSList* busy_accounts; + guint timeout; - gulong key_changed_handler_uid; + + GHashTable *notification_id_accounts; + GHashTable *server_account_key_hash; + GHashTable *account_key_hash; + + /* cache whether we have accounts; if this is TRUE, we have accounts, if + * it's FALSE we _don't know_ if we have account and need to check + */ + gboolean has_accounts; + gboolean has_enabled_accounts; }; - #define MODEST_ACCOUNT_MGR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \ - MODEST_TYPE_ACCOUNT_MGR, \ + MODEST_TYPE_ACCOUNT_MGR, \ ModestAccountMgrPrivate)) + +/** + * modest_account_mgr_set_bool: + * @self: a ModestAccountMgr instance + * @name: the name of the account + * @key: the key of the value to set + * @val: the value to set + * @server_account: if TRUE, this is a server account + * + * set a config bool for an account + * + * Returns: TRUE if setting the value succeeded, or FALSE in case of error. + */ +gboolean modest_account_mgr_set_bool (ModestAccountMgr *self, + const gchar *name, + const gchar *key, gboolean val, + gboolean server_account); + +/** + * modest_account_mgr_get_bool: + * @self: a ModestAccountMgr instance + * @name: the name of the account + * @key: the key of the value to retrieve + * @server_account: if TRUE, this is a server account + * + * get a config boolean from an account + * + * Returns: an boolean with the value for the key, or FALSE in case of + * error (but of course FALSE does not necessarily imply an error) + */ +gboolean modest_account_mgr_get_bool (ModestAccountMgr *self, + const gchar *name, + const gchar *key, + gboolean server_account); + + +/** + * 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 + * + * get a config list of values of type @list_type of an account + * + * Returns: a newly allocated list of elements + */ +GSList* modest_account_mgr_get_list (ModestAccountMgr *self, + const gchar *name, + const gchar *key, + ModestConfValueType list_type, + gboolean server_account); + +/** + * modest_account_mgr_set_list: + * @self: a ModestAccountMgr instance + * @name: the name of the account + * @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 + * + * * set a config list of values of type @list_type of an account + * + * returns TRUE if this succeeded, FALSE otherwise + */ +gboolean modest_account_mgr_set_list (ModestAccountMgr *self, + const gchar *name, + const gchar *key, + GSList *val, + ModestConfValueType list_type, + gboolean server_account); + +/** + * modest_account_mgr_get_int: + * @self: a ModestAccountMgr instance + * @name: the name of the account + * @key: the key of the value to retrieve + * @server_account: if TRUE, this is a server account + * + * get a config int from an account + * + * Returns: an integer with the value for the key, or -1 in case of + * error (but of course -1 does not necessarily imply an error) + */ +gint modest_account_mgr_get_int (ModestAccountMgr *self, + const gchar *name, + const gchar *key, + gboolean server_account); + + + +/** + * modest_account_mgr_set_int: + * @self: a ModestAccountMgr instance + * @name: the name of the account + * @key: the key of the value to set + * @val: the value to set + * @server_account: if TRUE, this is a server account + * + * set a config int for an account + * + * Returns: TRUE if setting the value succeeded, or FALSE in case of error. + */ +gboolean modest_account_mgr_set_int (ModestAccountMgr *self, + const gchar *name, + const gchar *key, gint val, + gboolean server_account); + +/** + * modest_account_mgr_get_string: + * @self: self a ModestAccountMgr instance + * @name: the name of the account + * @key: the key of the value to retrieve + * @server_account: if TRUE, this is a server account + * + * get a config string from an account + * + * Returns: a newly allocated string with the value for the key, + * or NULL in case of error. + */ +gchar* modest_account_mgr_get_string (ModestAccountMgr *self, + const gchar *name, + const gchar *key, + gboolean server_account); + + +/** + * modest_account_mgr_set_string: + * @self: a ModestAccountMgr instance + * @name: the name of the account + * @key: the key of the value to set + * @val: the value to set + * @server_account: if TRUE, this is a server account + * + * set a config string for an account. + * + * Returns: TRUE if setting the value succeeded, or FALSE in case of error. + */ +gboolean modest_account_mgr_set_string (ModestAccountMgr *self, + const gchar *name, + const gchar *key, const gchar* val, + gboolean server_account); G_END_DECLS #endif /* __MODEST_ACCOUNT_MGR_PRIV_H__ */