summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-07-20 17:10:56 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-07-20 17:10:56 +0000
commite9b0fe8068bf20ef592d35f84d920dd3a6c0a50a (patch)
tree910453dfc5bec0ac3ef7c8f62a63576776e9b376
parentf48b33d473cb37aa72d29c6d98311602d30cedf4 (diff)
downloadlasso-e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a.tar.gz
lasso-e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a.tar.xz
lasso-e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a.zip
Added method lasso_node_import_from_node()
-rw-r--r--lasso/xml/xml.c28
-rw-r--r--lasso/xml/xml.h5
2 files changed, 33 insertions, 0 deletions
diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c
index 46c3e0b7..3f88df33 100644
--- a/lasso/xml/xml.c
+++ b/lasso/xml/xml.c
@@ -337,6 +337,23 @@ lasso_node_import(LassoNode *node,
}
/**
+ * lasso_node_import_from_node:
+ * @node: a LassoNode
+ * @imported_node: a LassoNode
+ *
+ * Put a copy of node->private->node into imported_node->private->node
+ **/
+void
+lasso_node_import_from_node(LassoNode *node,
+ LassoNode *imported_node)
+{
+ g_return_if_fail(LASSO_IS_NODE(node));
+
+ LassoNodeClass *class = LASSO_NODE_GET_CLASS(node);
+ class->import_from_node(node, imported_node);
+}
+
+/**
* lasso_node_rename_prop:
* @node: a LassoNode
* @old_name: the attribute name
@@ -863,6 +880,16 @@ lasso_node_impl_import(LassoNode *node,
}
static void
+lasso_node_impl_import_from_node(LassoNode *node,
+ LassoNode *imported_node)
+{
+ g_return_if_fail (LASSO_IS_NODE(node));
+ g_return_if_fail (LASSO_IS_NODE(imported_node));
+
+ lasso_node_impl_set_xmlNode(node, xmlCopyNode(imported_node->private->node, 1));
+}
+
+static void
lasso_node_impl_rename_prop(LassoNode *node,
const xmlChar *old_name,
const xmlChar *new_name)
@@ -1338,6 +1365,7 @@ lasso_node_class_init(LassoNodeClass *class)
class->get_content = lasso_node_impl_get_content;
class->get_name = lasso_node_impl_get_name;
class->import = lasso_node_impl_import;
+ class->import_from_node = lasso_node_impl_import_from_node;
class->rename_prop = lasso_node_impl_rename_prop;
class->verify_signature = lasso_node_impl_verify_signature;
/* virtual private methods */
diff --git a/lasso/xml/xml.h b/lasso/xml/xml.h
index 2d89cbb3..39685216 100644
--- a/lasso/xml/xml.h
+++ b/lasso/xml/xml.h
@@ -94,6 +94,8 @@ struct _LassoNodeClass {
const xmlChar* (* get_name) (LassoNode *node);
void (* import) (LassoNode *node,
const xmlChar *buffer);
+ void (* import_from_node) (LassoNode *node,
+ LassoNode *imported_node);
void (* rename_prop) (LassoNode *node,
const xmlChar *old_name,
const xmlChar *new_name);
@@ -176,6 +178,9 @@ LASSO_EXPORT const xmlChar* lasso_node_get_name (LassoNode *node);
LASSO_EXPORT void lasso_node_import (LassoNode *node,
const xmlChar *buffer);
+LASSO_EXPORT void lasso_node_import_from_node (LassoNode *node,
+ LassoNode *imported_node);
+
LASSO_EXPORT void lasso_node_rename_prop (LassoNode *node,
const xmlChar *old_name,
const xmlChar *new_name);