From a75ede936bab7d60c912fbcdda24d901ae50aba6 Mon Sep 17 00:00:00 2001 From: shankar Date: Tue, 23 Mar 2010 07:10:27 +0000 Subject: refactoring. git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@926481 13f79535-47bb-0310-9956-ffa450edef68 --- axiom/src/om/om_document.c | 89 ++++++++++++++++------------------------------ 1 file changed, 31 insertions(+), 58 deletions(-) (limited to 'axiom/src/om/om_document.c') diff --git a/axiom/src/om/om_document.c b/axiom/src/om/om_document.c index 149edec..70e905a 100644 --- a/axiom/src/om/om_document.c +++ b/axiom/src/om/om_document.c @@ -15,96 +15,72 @@ * limitations under the License. */ -#include -#include +#include +#include #include struct axiom_document { - /** root element */ axiom_node_t *root_element; /** last child */ axiom_node_t *last_child; - /** first child */ - axiom_node_t *first_child; - - /** done building the document */ - axis2_bool_t done; - /** builder of the document */ struct axiom_stax_builder *builder; - /** char set encoding */ - axis2_char_t *char_set_encoding; - - /** XML version */ - axis2_char_t *xml_version; }; -AXIS2_EXTERN axiom_document_t *AXIS2_CALL + +axiom_document_t *AXIS2_CALL axiom_document_create( const axutil_env_t * env, axiom_node_t * root, axiom_stax_builder_t * builder) { axiom_document_t *document = NULL; - - AXIS2_ENV_CHECK(env, NULL); - document = (axiom_document_t *)AXIS2_MALLOC(env->allocator, sizeof(axiom_document_t)); - if(!document) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); + AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Insufficient memory to create axiom document"); return NULL; } document->builder = builder; document->root_element = root; - document->first_child = root; document->last_child = root; - document->xml_version = XML_VERSION; - document->char_set_encoding = CHAR_SET_ENCODING; - document->done = AXIS2_FALSE; - return document; } -AXIS2_EXTERN void AXIS2_CALL +void AXIS2_CALL axiom_document_free( axiom_document_t * document, const axutil_env_t * env) { - AXIS2_ENV_CHECK(env, void); - if(document->root_element) { axiom_node_free_tree(document->root_element, env); } AXIS2_FREE(env->allocator, document); - return; } -AXIS2_EXTERN void AXIS2_CALL +void AXIS2_CALL axiom_document_free_self( axiom_document_t * document, const axutil_env_t * env) { AXIS2_FREE(env->allocator, document); - return; } -AXIS2_EXTERN axiom_node_t *AXIS2_CALL +axiom_node_t *AXIS2_CALL axiom_document_build_next( axiom_document_t * document, const axutil_env_t * env) { axiom_node_t *last_child = NULL; - AXIS2_ENV_CHECK(env, NULL); if(!document->builder) { @@ -133,13 +109,33 @@ axiom_document_build_next( return last_child; } +axis2_status_t AXIS2_CALL +axiom_document_set_root_element( + axiom_document_t * document, + const axutil_env_t * env, + axiom_node_t * node) +{ + AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); + + if(document->root_element) + { + axiom_node_free_tree(document->root_element, env); + document->root_element = node; + return AXIS2_SUCCESS; + } + else + { + document->root_element = node; + } + return AXIS2_SUCCESS; +} + AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_get_root_element( axiom_document_t * document, const axutil_env_t * env) { axiom_node_t *node = NULL; - AXIS2_ENV_CHECK(env, NULL); if(document->root_element) { @@ -155,34 +151,11 @@ axiom_document_get_root_element( return NULL; } -AXIS2_EXTERN axis2_status_t AXIS2_CALL -axiom_document_set_root_element( - axiom_document_t * document, - const axutil_env_t * env, - axiom_node_t * node) -{ - AXIS2_ENV_CHECK(env, AXIS2_FAILURE); - AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); - - if(document->root_element) - { - axiom_node_free_tree(document->root_element, env); - document->root_element = node; - return AXIS2_SUCCESS; - } - else - { - document->root_element = node; - } - return AXIS2_SUCCESS; -} - AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_build_all( struct axiom_document * document, const axutil_env_t * env) { - AXIS2_ENV_CHECK(env, NULL); if(!document) { return NULL; @@ -220,12 +193,12 @@ axiom_document_build_all( return NULL; } +#if 0 AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axiom_document_get_builder( axiom_document_t * document, const axutil_env_t * env) { - AXIS2_ENV_CHECK(env, NULL); return document->builder; } @@ -247,7 +220,6 @@ axiom_document_serialize( if(!document) return AXIS2_FAILURE; - AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if(!(document->root_element)) { axiom_document_get_root_element(document, env); @@ -261,3 +233,4 @@ axiom_document_serialize( return AXIS2_FAILURE; } } +#endif -- cgit v1.1-32-gdbae