diff options
| author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-07-20 17:10:56 +0000 |
|---|---|---|
| committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-07-20 17:10:56 +0000 |
| commit | e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a (patch) | |
| tree | 910453dfc5bec0ac3ef7c8f62a63576776e9b376 | |
| parent | f48b33d473cb37aa72d29c6d98311602d30cedf4 (diff) | |
| download | lasso-e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a.tar.gz lasso-e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a.tar.xz lasso-e9b0fe8068bf20ef592d35f84d920dd3a6c0a50a.zip | |
Added method lasso_node_import_from_node()
| -rw-r--r-- | lasso/xml/xml.c | 28 | ||||
| -rw-r--r-- | lasso/xml/xml.h | 5 |
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); |
