]> saetta.ns0.it Git - zakconfi/libzakconfi/commitdiff
Re-added Confi::set_root.
authorAndrea Zagli <azagli@libero.it>
Wed, 17 Dec 2014 11:30:36 +0000 (12:30 +0100)
committerAndrea Zagli <azagli@libero.it>
Wed, 17 Dec 2014 11:30:36 +0000 (12:30 +0100)
src/libconfi.c
src/libconfi.h
tests/test.c

index 19812bb1b68edd352bbc0276d7815cb3f493fa15..db5825c9aa59df8699456ea3fd3da7eca703fa6e 100644 (file)
@@ -264,6 +264,33 @@ gchar
        return strret;
 }
 
+/**
+ * confi_set_root:
+ * @confi: a #Confi object.
+ * @root: the root.
+ *
+ */
+gboolean
+confi_set_root (Confi *confi, const gchar *root)
+{
+       gboolean ret;
+
+       ConfiPrivate *priv = CONFI_GET_PRIVATE (confi);
+
+       if (priv->pluggable == NULL)
+               {
+                       g_warning ("Not initialized.");
+                       ret = FALSE;
+               }
+       else
+               {
+                       g_object_set (priv->pluggable, "root", root, NULL);
+                       ret = TRUE;
+               }
+
+       return ret;
+}
+
 /**
  * confi_add_key:
  * @confi: a #Confi object.
index d5798b587b5c593475ff371b413bf3a4daf30706..beb8215f5aefe5841382e6bc243265e136e4ce55 100644 (file)
@@ -59,6 +59,7 @@ GList *confi_get_configs_list (const gchar *cnc_string,
 GNode *confi_get_tree (Confi *confi);
 
 gchar *confi_normalize_root (const gchar *root);
+gboolean confi_set_root (Confi *confi, const gchar *root);
 
 ConfiKey *confi_add_key (Confi *confi,
                          const gchar *parent,
index 022e95da55b0a2d70f241bc6752779221fba0d01..bdcb560289c275c53a9fc1223db0692264c412bf 100644 (file)
@@ -94,9 +94,10 @@ main (int argc, char **argv)
        g_printf ("Value: %s\n", ck->value);
        g_printf ("\n");
 
-       /*g_printf ("Setting root \"key2\"\n");
-       confi_set_root (confi, "key2");
-       g_printf ("Value from key \"key2-1\" %s\n", confi_path_get_value (confi, "key2-1"));*/
+       g_printf ("Setting root \"folder/key2\"\n");
+       confi_set_root (confi, "folder/key2");
+       g_printf ("Value from key \"key2-1\" %s\n", confi_path_get_value (confi, "key2-1"));
+       g_printf ("Value from key \"folder/key1/key1_2\" (expected null) %s\n", confi_path_get_value (confi, "folder/key1/key1_2"));
 
        confi_destroy (confi);