* modest-conf.[ch]:
authorDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Mon, 18 Dec 2006 18:42:39 +0000 (18:42 +0000)
committerDirk-Jan C. Binnema <dirk-jan.binnema@nokia.com>
Mon, 18 Dec 2006 18:42:39 +0000 (18:42 +0000)
  - re-add modest_conf_get_list
  - remove ModestConf* param from escape/unescape functions

pmo-trunk-r563

src/modest-conf.c
src/modest-conf.h

index c6535e7..d5db022 100644 (file)
@@ -219,54 +219,37 @@ modest_conf_get_bool (ModestConf* self, const gchar* key, GError **err)
 }
 
 
-
-gchar*
-modest_conf_get_string_or_default (ModestConf* self, const gchar* key,
-                                  const gchar *defaultval)
+GSList * 
+modest_conf_get_list (ModestConf* self, const gchar* key, ModestConfValueType list_type,
+                     GError **err)
 {
-       ModestConfPrivate *priv;
-       GConfValue *val;
-       const gchar *str;
-
-       g_return_val_if_fail (self, g_strdup(defaultval));
-       g_return_val_if_fail (key,  g_strdup(defaultval));
-
-       priv = MODEST_CONF_GET_PRIVATE(self);
-       val = gconf_client_get (priv->gconf_client, key, NULL);
-
-       if (!val)
-               str = defaultval;
-       else {
-               str = gconf_value_get_string (val);
-               gconf_value_free (val);
-       }
-       
-       return g_strdup (str);
-}
-
-
-gint
-modest_conf_get_int_or_default (ModestConf* self, const gchar* key,
-                               gint defaultval)
-{
-       ModestConfPrivate *priv;
-       GConfValue *val;
-       gint retval;
-       
-       g_return_val_if_fail (self, defaultval);
-       g_return_val_if_fail (key,  defaultval);
-
-       priv = MODEST_CONF_GET_PRIVATE(self);
-       val = gconf_client_get (priv->gconf_client, key, NULL);
-
-       if (!val)
-               retval = defaultval;
-       else {
-               retval = gconf_value_get_int (val);
-               gconf_value_free (val);
-       }       
-
-       return retval;
+       ModestConfPrivate *priv;
+       GConfValueType gconf_type;
+       
+       g_return_val_if_fail (self, NULL);
+       g_return_val_if_fail (key,  NULL);
+
+       priv = MODEST_CONF_GET_PRIVATE(self);
+
+       switch (list_type) {
+       case MODEST_CONF_VALUE_INT:
+               gconf_type = GCONF_VALUE_INT;
+               break;
+       case MODEST_CONF_VALUE_BOOL:
+               gconf_type = GCONF_VALUE_BOOL;
+               break;
+       case MODEST_CONF_VALUE_FLOAT:
+               gconf_type = GCONF_VALUE_FLOAT;
+               break;
+       case MODEST_CONF_VALUE_STRING:
+               gconf_type = GCONF_VALUE_STRING;
+               break;
+       default:
+               g_printerr ("modest: invalid list type %d requested\n", list_type);
+              /* FIXME: fill GError */
+              return NULL;
+       }
+       return gconf_client_get_list (priv->gconf_client, key, gconf_type, err);
 }
 
 
@@ -392,7 +375,7 @@ modest_conf_key_exists (ModestConf* self, const gchar* key, GError **err)
 
 
 gchar*
-modest_conf_key_escape (ModestConf *self, const gchar* key)
+modest_conf_key_escape (const gchar* key)
 {
        g_return_val_if_fail (key, NULL);
 
@@ -401,7 +384,7 @@ modest_conf_key_escape (ModestConf *self, const gchar* key)
 
 
 gchar*
-modest_conf_key_unescape (ModestConf *self, const gchar* key)
+modest_conf_key_unescape (const gchar* key)
 {
        g_return_val_if_fail (key, NULL);
 
@@ -425,33 +408,3 @@ modest_conf_on_change (GConfClient *client, guint conn_id, GConfEntry *entry,
                       key, event);
 }
 
-GSList * 
-modest_conf_get_list (ModestConf* self, const gchar* key, ModestConfValueType list_type, GError **err)
-{
-       ModestConfPrivate *priv;
-       GConfValueType gconf_type;
-       
-       g_return_val_if_fail (self, NULL);
-       g_return_val_if_fail (key,  NULL);
-
-       priv = MODEST_CONF_GET_PRIVATE(self);
-
-       switch (list_type) {
-       case MODEST_CONF_VALUE_INT:
-               gconf_type = GCONF_VALUE_INT;
-               break;
-       case MODEST_CONF_VALUE_BOOL:
-               gconf_type = GCONF_VALUE_BOOL;
-               break;
-       case MODEST_CONF_VALUE_FLOAT:
-               gconf_type = GCONF_VALUE_FLOAT;
-               break;
-       case MODEST_CONF_VALUE_STRING:
-               gconf_type = GCONF_VALUE_STRING;
-               break;
-       default:
-               return NULL;
-       }
-
-       return gconf_client_get_list (priv->gconf_client, key, gconf_type, err);
-}
index 49f6954..e6d33b8 100644 (file)
@@ -195,6 +195,22 @@ gboolean     modest_conf_set_bool    (ModestConf* self, const gchar* key, gboole
                                      GError **err);
 
 
+/** 
+ * modest_conf_get_list:
+ * @self: a ModestConf instance
+ * @key: the key of the value to retrieve
+ * @list_type: the type of the elements of the list
+ * @err: a GError ptr, or NULL to ignore.
+ * 
+ * get a list of values from the configuration system
+ *  
+ * Returns: a list with the values for the key, or NULL in case of error or
+ * if the list is empty; @err gives details in case of error
+ */
+GSList *     modest_conf_get_list    (ModestConf* self, const gchar* key, 
+                                     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);
 
@@ -241,26 +257,27 @@ gboolean   modest_conf_key_exists   (ModestConf* self, const gchar* key, GError
 
 /**
  * modest_conf_key_escape:
- * @self: a ModestConf instance. Not used, but for consistency with other ModestConf funcs
  * @str: a 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
  * 
  * 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
  * 
  * 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