X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-conf.h;h=0008272f69b9e9253ee66acce87dfb55b1b4db99;hp=49f6954db9b8536f7af873671e4859c8faaf027a;hb=1f6375ad6e5dd08dac82311056e01bfe434bac9b;hpb=c9ef57538d8fde41813a60501d858670ec018be8 diff --git a/src/modest-conf.h b/src/modest-conf.h index 49f6954..0008272 100644 --- a/src/modest-conf.h +++ b/src/modest-conf.h @@ -31,7 +31,7 @@ #define __MODEST_CONF_H__ #include -#include "modest-conf-keys.h" +#include "modest-defs.h" G_BEGIN_DECLS @@ -45,17 +45,15 @@ G_BEGIN_DECLS typedef struct _ModestConf ModestConf; typedef struct _ModestConfClass ModestConfClass; -/* typedef enum _ModestConfEvent ModestConfEvent; */ -/* typedef enum _ModestConfValueType ModestConfValueType; */ -typedef enum _ModestConfValueType { +typedef enum { MODEST_CONF_VALUE_INT, MODEST_CONF_VALUE_BOOL, MODEST_CONF_VALUE_FLOAT, MODEST_CONF_VALUE_STRING } ModestConfValueType; -typedef enum _ModestConfEvent { +typedef enum { MODEST_CONF_EVENT_KEY_CHANGED, MODEST_CONF_EVENT_KEY_UNSET } ModestConfEvent; @@ -72,9 +70,9 @@ struct _ModestConfClass { /** * modest_conf_get_type: * - * get the GType for ModestConf + * get the #GType for #ModestConf * - * Returns: the GType + * Returns: the #GType */ GType modest_conf_get_type (void) G_GNUC_CONST; @@ -82,9 +80,9 @@ GType modest_conf_get_type (void) G_GNUC_CONST; /** * modest_conf_new: * - * create a new modest ModestConf object. + * create a new modest #ModestConf object. * - * Returns: a new ModestConf instance, or NULL in case + * Returns: a new #ModestConf instance, or NULL in case * of any error */ ModestConf* modest_conf_new (void); @@ -146,7 +144,7 @@ gboolean modest_conf_get_bool (ModestConf* self, const gchar* key, GError * Returns: a list with the values for the key, or NULL in case of error * @err gives details in case of error */ -GSList * modest_conf_get_list (ModestConf* self, const gchar* key, +GSList* modest_conf_get_list (ModestConf* self, const gchar* key, ModestConfValueType list_type, GError **err); /** @@ -195,6 +193,24 @@ gboolean modest_conf_set_bool (ModestConf* self, const gchar* key, gboole GError **err); +/** + * modest_conf_set_list: + * @self: a ModestConf instance + * @key: the key of the value to retrieve + * @val: the list with the values to set + * @list_type: the type of the elements of the list + * @err: a GError ptr, or NULL to ignore. + * + * set a list of values in the configuration system + * + * Returns: TRUE if succeeded or FALSE in case of error. + * @err gives details in case of error + */ +gboolean modest_conf_set_list (ModestConf* self, const gchar* key, + GSList *val, ModestConfValueType list_type, + GError **err); + + /** * modest_conf_list_subkeys: * @self: a ModestConf instance @@ -205,7 +221,7 @@ gboolean modest_conf_set_bool (ModestConf* self, const gchar* key, gboole * * Returns: a newly allocated list or NULL in case of error * the returned GSList must be freed by the caller - * @err gives details in case of error + * @err might give details in case of error */ GSList* modest_conf_list_subkeys (ModestConf* self, const gchar* key, GError **err); @@ -220,7 +236,7 @@ GSList* modest_conf_list_subkeys (ModestConf* self, const gchar* key, * attempts to remove @key and all its subkeys * * Returns: TRUE if succeeded or FALSE in case of error. - * @err gives details in case of error + * @err might give details in case of error */ gboolean modest_conf_remove_key (ModestConf* self, const gchar* key, GError **err); @@ -239,28 +255,44 @@ gboolean modest_conf_remove_key (ModestConf* self, const gchar* key, GError gboolean modest_conf_key_exists (ModestConf* self, const gchar* key, GError **err); + +/** + * modest_conf_key_valid: + * @str: some key + * + * check whether @str is a valid key in the config system + * This is a *class* function, and therefore does not require a ModestConf + * instance + * + * Returns: TRUE if it is valid, FALSE otherwise + */ +gboolean modest_conf_key_is_valid (const gchar* str); + + /** * modest_conf_key_escape: - * @self: a ModestConf instance. Not used, but for consistency with other ModestConf funcs - * @str: a string to escape + * @str: a non-empty string to escape * * returns an escaped version of @str, ie. something suitable as a key + * This is a *class* function, and therefore does not require a ModestConf + * instance. Note: this for is invidual elements in a key * * Returns: a newly allocated string with the escaped version */ -gchar* modest_conf_key_escape (ModestConf *self, const gchar* str); +gchar* modest_conf_key_escape (const gchar* str); /** * modest_conf_key_escape: - * @self: a ModestConf instance. Not used, but for consistency with other ModestConf funcs * @str: a string to escape * - * returns an unescaped version of @str + * returns an unescaped version of @str. This is a *class* function, and + * therefore does not require a ModestConf instance + * Note: this for is invidual elements in a key * * Returns: a newly allocated string with the unescaped version */ -gchar* modest_conf_key_unescape (ModestConf *self, const gchar* str); +gchar* modest_conf_key_unescape (const gchar* str); G_END_DECLS