* Eet: Add a clean way to create struct child.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 15 Jun 2009 16:48:31 +0000 (16:48 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 15 Jun 2009 16:48:31 +0000 (16:48 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eet@41053 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/Eet.h
src/lib/eet_node.c

index 30d6881..a785883 100644 (file)
@@ -1376,6 +1376,7 @@ eet_dictionary_string_check    * example: values), and @p type is the basic data
    EAPI Eet_Node *eet_node_var_array_new(const char *name, Eina_List *nodes);
    EAPI Eet_Node *eet_node_hash_new(const char *name, const char *key, Eet_Node *node);
    EAPI Eet_Node *eet_node_struct_new(const char *name, Eina_List *nodes);
+   EAPI Eet_Node *eet_node_struct_child_new(const char *parent, Eet_Node *child);
    EAPI void eet_node_del(Eet_Node *n);
 
    EAPI void *eet_data_node_encode_cipher(Eet_Node *node, const char *key, int *size_ret);
index 0514026..c27b7ac 100644 (file)
@@ -160,6 +160,22 @@ eet_node_struct_new(const char *name, Eina_List *nodes)
    return n;
 }
 
+Eet_Node *
+eet_node_struct_child_new(const char *parent, Eet_Node *child)
+{
+   Eet_Node *n;
+
+   if (child->type != EET_G_UNKNOWN)
+     return child;
+
+   n = _eet_node_new(parent, EET_G_UNKNOWN);
+   if (!n) return NULL;
+
+   _eet_node_append(n, eina_list_prepend(NULL, child));
+
+   return n;
+}
+
 void
 eet_node_del(Eet_Node *n)
 {