X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-account-mgr-priv.h;h=ffb33a7e3a75c00d86ede0a8ce6c7fe202bb126d;hp=cc40a1d81ca3abd444d1fc5f157f5ec1a17dc7d1;hb=e45958deaf9701399c552ea0d84c2447efacd4ca;hpb=6ebc23126acdfb8aec11416e4c197c6bee70bef0 diff --git a/src/modest-account-mgr-priv.h b/src/modest-account-mgr-priv.h index cc40a1d..ffb33a7 100644 --- a/src/modest-account-mgr-priv.h +++ b/src/modest-account-mgr-priv.h @@ -51,15 +51,167 @@ struct _ModestAccountMgrPrivate { ModestConf *modest_conf; /* We store these as they change, and send notifications every X seconds: */ - GSList *changed_conf_keys; - guint timeout; - gulong key_changed_handler_uid; GSList* busy_accounts; -}; + guint timeout; + + 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__ */