You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/01/06 09:44:05 UTC

svn commit: r366454 - /webservices/axis2/trunk/c/modules/xml/om/om_node.c

Author: nandika
Date: Fri Jan  6 00:44:01 2006
New Revision: 366454

URL: http://svn.apache.org/viewcvs?rev=366454&view=rev
Log: (empty)

Modified:
    webservices/axis2/trunk/c/modules/xml/om/om_node.c

Modified: webservices/axis2/trunk/c/modules/xml/om/om_node.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/om_node.c?rev=366454&r1=366453&r2=366454&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/om_node.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/om_node.c Fri Jan  6 00:44:01 2006
@@ -21,6 +21,7 @@
 #include <axis2_om_processing_instruction.h>
 #include <axis2_om_doctype.h>
 #include <axis2_om_document.h>
+#include <axis2_om_stax_builder.h>
 
 
 /*************************** function prototypes ******************************************/
@@ -145,6 +146,11 @@
                            axis2_env_t **env,
                            struct axis2_om_document *om_doc);
 
+axis2_status_t AXIS2_CALL
+axis2_om_node_set_builder(axis2_om_node_t *om_node,
+                          axis2_env_t **env,
+                          struct axis2_om_stax_builder *om_builder);
+                           
 struct axis2_om_document* AXIS2_CALL
 axis2_om_node_get_document(axis2_om_node_t *om_node,
                            axis2_env_t **env);
@@ -162,6 +168,8 @@
     
      /** document only availble if build through builder */   
      struct axis2_om_document *om_doc;
+     
+     struct axis2_om_stax_builder *builder;
      /** parent node */
      axis2_om_node_t *parent;
      /** previous sibling */
@@ -222,6 +230,8 @@
     node->node_type = AXIS2_OM_INVALID;
     node->done = AXIS2_FALSE;
     node->data_element = NULL;
+    node->om_doc = NULL;
+    node->builder = NULL;
 
     /* assign fucn pointers */
     node->om_node.ops->add_child = axis2_om_node_add_child;
@@ -733,13 +743,25 @@
 axis2_om_node_build_next(axis2_om_node_t *om_node,
                          axis2_env_t **env)
 {
-    struct axis2_om_document *om_doc = NULL;
+    axis2_om_stax_builder_t *builder = NULL;
     axis2_om_node_impl_t *om_node_impl = NULL;
     AXIS2_FUNC_PARAM_CHECK(om_node, env, NULL);
 
     om_node_impl = AXIS2_INTF_TO_IMPL(om_node);
-    om_doc = om_node_impl->om_doc;
-    if(!om_doc)
+    builder = om_node_impl->builder;
+    if(!builder)
         return NULL;
-    return AXIS2_OM_DOCUMENT_BUILD_NEXT(om_doc, env);
+    return AXIS2_OM_STAX_BUILDER_NEXT(builder, env);
 }
+
+axis2_status_t AXIS2_CALL
+axis2_om_node_set_builder(axis2_om_node_t *om_node,
+                           axis2_env_t **env,
+                           axis2_om_stax_builder_t *om_builder)
+{
+    AXIS2_FUNC_PARAM_CHECK(om_node, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, om_builder, AXIS2_FAILURE);
+    AXIS2_INTF_TO_IMPL(om_node)->builder = om_builder;
+    return AXIS2_SUCCESS;
+
+}                           
\ No newline at end of file