From 41f4642b858a8225f4442c098344318bcc3fbfe1 Mon Sep 17 00:00:00 2001 From: shankar Date: Tue, 23 Mar 2010 13:22:09 +0000 Subject: Refactor to increase performace git-svn-id: http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk@926564 13f79535-47bb-0310-9956-ffa450edef68 --- axiom/include/axiom_node.h | 23 +++++++++++++------- axiom/include/axiom_stax_builder.h | 43 +++++++++++++++++--------------------- 2 files changed, 35 insertions(+), 31 deletions(-) (limited to 'axiom/include') diff --git a/axiom/include/axiom_node.h b/axiom/include/axiom_node.h index dd5c320..310b0b8 100644 --- a/axiom/include/axiom_node.h +++ b/axiom/include/axiom_node.h @@ -141,17 +141,29 @@ extern "C" axiom_node_t * child); /** - * Detaches given node from the parent and reset the links + * Detaches given node from the parent and reset the links. Will recreate "namespace defined in + * the parent and used in detached node" within detached node itself * @param om_node node to be detached, cannot be NULL. * @param env Environment. MUST NOT be NULL, . - * @return a pointer to detached node,returns NULL on error with error - * code set to environment's error struct + * @return a pointer to detached node,returns NULL on error */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_detach( axiom_node_t * om_node, const axutil_env_t * env); + /** + * Detaches given node from the parent and reset the links. will not adjust the namespace as + * in the case of axiom_node_detach. + * @param om_node node to be detached, cannot be NULL. + * @param env Environment. MUST NOT be NULL, . + * @return a pointer to detached node,returns NULL on error + */ + AXIS2_EXTERN axiom_node_t *AXIS2_CALL + axiom_node_detach_without_namespaces( + axiom_node_t * om_node, + const axutil_env_t * env); + /** * Inserts a sibling node after the given node * @param om_node node to whom the sibling to be inserted. , cannot be NULL. @@ -366,10 +378,7 @@ extern "C" axiom_node_t * om_node, const axutil_env_t * env); - AXIS2_EXTERN struct axiom_stax_builder *AXIS2_CALL - axiom_node_get_builder( - axiom_node_t * om_node, - const axutil_env_t * env); + /** @} */ #ifdef __cplusplus diff --git a/axiom/include/axiom_stax_builder.h b/axiom/include/axiom_stax_builder.h index 8b85e12..8ec8af1 100644 --- a/axiom/include/axiom_stax_builder.h +++ b/axiom/include/axiom_stax_builder.h @@ -37,52 +37,47 @@ extern "C" typedef struct axiom_stax_builder axiom_stax_builder_t; /** - * Creates an stax builder - * @param environment Environment. MUST NOT be NULL. - * @param parser parser to be used with builder. The builder - * will take ownership of the parser. - * @return a pointer to the newly created builder struct. - */ + * Creates an stax builder + * @param environment Environment. MUST NOT be NULL. + * @param parser parser to be used with builder. The builder will take ownership of the parser. + * @return a pointer to the newly created builder struct. + */ AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axiom_stax_builder_create( const axutil_env_t * env, axiom_xml_reader_t * parser); /** - * Free the build struct instance and its associated document,axiom tree. - * @param builder pointer to builder struct - * @param env environment, MUST NOT be NULL - * @return status of the op AXIS2_SUCCESS on success, - * AXIS2_FAILURE on error. - */ + * Free the build struct instance and its associated document,axiom tree. + * @param builder pointer to builder struct + * @param env environment, MUST NOT be NULL + * @return status of the operation AXIS2_SUCCESS on success, AXIS2_FAILURE on error. + */ AXIS2_EXTERN void AXIS2_CALL axiom_stax_builder_free( - struct axiom_stax_builder *builder, + axiom_stax_builder_t *builder, const axutil_env_t * env); /** * Free the build struct instance and its associated document. - does not free the associated axiom tree. + * Will not free the associated axiom tree. * @param builder pointer to builder struct * @param env environment, MUST NOT be NULL - * @return status of the op AXIS2_SUCCESS on success, - * AXIS2_FAILURE on error. + * @return status of the operation AXIS2_SUCCESS on success, AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_stax_builder_free_self( - struct axiom_stax_builder *builder, + axiom_stax_builder_t *builder, const axutil_env_t * env); /** Gets the document associated with the builder - * @param builder axiom_stax_builder - * @param env environment - * @return pointer to document struct associated with builder - * NULL if there is no document associated with the builder, - * NULL if an error occured. - */ + * @param builder axiom_stax_builder + * @param env environment + * @return pointer to document struct associated with builder NULL if an error occurred. + */ AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_stax_builder_get_document( - struct axiom_stax_builder *builder, + axiom_stax_builder_t *builder, const axutil_env_t * env); /** @} */ -- cgit v1.1-32-gdbae