You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2005/11/16 06:13:29 UTC
svn commit: r344891 - in
/webservices/axis2/trunk/c/modules/xml/parser/guththila/src:
axis2_guththila_wrapper.c guththila_xml_writer_wrapper.c
Author: samisa
Date: Tue Nov 15 21:13:20 2005
New Revision: 344891
URL: http://svn.apache.org/viewcvs?rev=344891&view=rev
Log:
wrappers for guththila parser xml writer and reader
Added:
webservices/axis2/trunk/c/modules/xml/parser/guththila/src/axis2_guththila_wrapper.c
webservices/axis2/trunk/c/modules/xml/parser/guththila/src/guththila_xml_writer_wrapper.c
Added: webservices/axis2/trunk/c/modules/xml/parser/guththila/src/axis2_guththila_wrapper.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/parser/guththila/src/axis2_guththila_wrapper.c?rev=344891&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/parser/guththila/src/axis2_guththila_wrapper.c (added)
+++ webservices/axis2/trunk/c/modules/xml/parser/guththila/src/axis2_guththila_wrapper.c Tue Nov 15 21:13:20 2005
@@ -0,0 +1,408 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <axis2_pull_parser.h>
+#include <axis2_env.h>
+#include <axis2.h>
+#include <guththila_xml_pull_parser.h>
+
+/**************** function prototypes ******************************************/
+
+
+
+int AXIS2_CALL
+axis2_guththila_wrapper_next(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+
+axis2_status_t AXIS2_CALL
+axis2_guththila_wrapper_free(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+
+int AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_count(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_name_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_prefix_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_value_by_number(
+ axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i);
+
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_namespace_by_number(
+ axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i);
+
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_value(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+int AXIS2_CALL
+axis2_guththila_wrapper_get_namespace_count(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_namespace_uri_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_namespace_prefix_by_number(
+ axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_prefix(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_name(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_pi_target(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_pi_data(axis2_pull_parser_t *parser,
+ axis2_env_t **env);
+
+
+
+/*********** axis2_guththila_wrapper_impl_t wrapper struct *******************/
+
+typedef struct axis2_guththila_wrapper_impl
+{
+ axis2_pull_parser_t parser;
+ guththila_xml_pull_parser_t *guththila_parser;
+ guththila_environment_t *guththila_env;
+ int event_map[10];
+
+}axis2_guththila_wrapper_impl_t;
+
+/********************************* Macro ***************************************/
+
+#define AXIS2_INTF_TO_IMPL(p) ((axis2_guththila_wrapper_impl_t*)p)
+
+#define AXIS2_IMPL_TO_INTF(p) &(p->parser)
+
+/**********End macros -- event_map initializing function *********************/
+
+static axis2_status_t axis2_guththila_wrapper_init_map(
+ axis2_guththila_wrapper_impl_t *parser)
+{
+ if(parser)
+ {
+ parser->event_map[GUTHTHILA_START_DOCUMENT] = AXIS2_PULL_PARSER_START_DOCUMENT;
+ parser->event_map[GUTHTHILA_START_ELEMENT] = AXIS2_PULL_PARSER_START_ELEMENT;
+ parser->event_map[GUTHTHILA_END_ELEMENT] = AXIS2_PULL_PARSER_END_ELEMENT;
+ parser->event_map[GUTHTHILA_SPACE] = AXIS2_PULL_PARSER_SPACE;
+ parser->event_map[GUTHTHILA_EMPTY_ELEMENT] = AXIS2_PULL_PARSER_EMPTY_ELEMENT;
+ parser->event_map[GUTHTHILA_CHARACTER] = AXIS2_PULL_PARSER_CHARACTER;
+ parser->event_map[GUTHTHILA_ENTITY_REFERANCE] = AXIS2_PULL_PARSER_ENTITY_REFERANCE;
+ parser->event_map[GUTHTHILA_COMMENT] = AXIS2_PULL_PARSER_COMMENT;
+ return AXIS2_SUCCESS;
+ }
+ return AXIS2_FAILURE;
+}
+
+/********************************************************************************/
+
+AXIS2_DECLARE(axis2_pull_parser_t *)
+axis2_pull_parser_create(axis2_env_t **env,void* stream)
+{
+ AXIS2_ENV_CHECK(env, NULL);
+
+ axis2_guththila_wrapper_impl_t *guththila_impl =
+ AXIS2_MALLOC((*env)->allocator, sizeof(axis2_guththila_wrapper_impl_t));
+
+ if(!guththila_impl)
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+
+ guththila_allocator_t *allocator = guththila_allocator_init(NULL);
+ guththila_environment_t *guththila_env = guththila_environment_create(
+ allocator,NULL, NULL, NULL, NULL);
+
+ guththila_reader_t *reader = guththila_reader_create(guththila_env,stream);
+
+ if(!reader)
+ {
+ AXIS2_FREE((*env)->allocator,guththila_impl);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ guththila_xml_pull_parser_t *guththila = guththila_xml_pull_parser_create(
+ guththila_env,reader);
+ if(!guththila)
+ {
+ AXIS2_FREE((*env)->allocator,guththila_impl);
+ AXIS2_FREE((*env)->allocator,reader);
+ AXIS2_ERROR_SET((*env)->error,AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+
+ guththila_impl->guththila_parser = guththila;
+ guththila_impl->guththila_env = guththila_env;
+ guththila_impl->parser.ops = NULL;
+ guththila_impl->parser.ops = (axis2_pull_parser_ops_t*)AXIS2_MALLOC(
+ (*env)->allocator,
+ sizeof(axis2_pull_parser_ops_t));
+ if(!(guththila_impl->parser.ops))
+ { guththila_xml_pull_parser_free( guththila_env, guththila);
+ AXIS2_FREE((*env)->allocator,guththila_impl);
+ AXIS2_FREE((*env)->allocator,reader);
+ AXIS2_ERROR_SET((*env)->error,AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+
+ axis2_guththila_wrapper_init_map(guththila_impl);
+
+
+/************** operations *****/
+ guththila_impl->parser.ops->next = axis2_guththila_wrapper_next;
+
+ guththila_impl->parser.ops->free = axis2_guththila_wrapper_free;
+
+ guththila_impl->parser.ops->get_attribute_count =
+ axis2_guththila_wrapper_get_attribute_count;
+ guththila_impl->parser.ops->get_attribute_name_by_number =
+ axis2_guththila_wrapper_get_attribute_name_by_number;
+ guththila_impl->parser.ops->get_attribute_value_by_number =
+ axis2_guththila_wrapper_get_attribute_value_by_number;
+ guththila_impl->parser.ops->get_attribute_prefix_by_number =
+ axis2_guththila_wrapper_get_attribute_prefix_by_number;
+ guththila_impl->parser.ops->get_attribute_namespace_by_number =
+ axis2_guththila_wrapper_get_attribute_namespace_by_number;
+
+ guththila_impl->parser.ops->get_value = axis2_guththila_wrapper_get_value;
+ guththila_impl->parser.ops->get_name = axis2_guththila_wrapper_get_name;
+ guththila_impl->parser.ops->get_prefix = axis2_guththila_wrapper_get_prefix;
+
+ guththila_impl->parser.ops->get_namespace_count =
+ axis2_guththila_wrapper_get_namespace_count;
+ guththila_impl->parser.ops->get_namespace_uri_by_number =
+ axis2_guththila_wrapper_get_namespace_uri_by_number;
+ guththila_impl->parser.ops->get_namespace_prefix_by_number =
+ axis2_guththila_wrapper_get_namespace_prefix_by_number;
+
+ return &(guththila_impl->parser);
+}
+
+
+int AXIS2_CALL
+axis2_guththila_wrapper_next(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ int i =-1;
+ AXIS2_FUNC_PARAM_CHECK(parser,env, -1);
+ i = guththila_xml_pull_parser_next(AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+ return i == -1 ? -1 : AXIS2_INTF_TO_IMPL(parser)->event_map[i];
+
+}
+
+
+axis2_status_t AXIS2_CALL
+axis2_guththila_wrapper_free(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env,AXIS2_FAILURE);
+ if(AXIS2_INTF_TO_IMPL(parser)->guththila_parser)
+ guththila_xml_pull_parser_free(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+ AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(parser)->guththila_env);
+
+ if(parser->ops)
+ AXIS2_FREE((*env)->allocator, parser->ops);
+ AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(parser));
+ return AXIS2_SUCCESS;
+}
+
+
+int AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_count(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser, env, AXIS2_FAILURE);
+ return guththila_xml_pull_parser_get_attribute_count(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_name_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_attribute_name_by_number(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser, i);
+
+
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_prefix_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_attribute_prefix_by_number(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser, i);
+
+
+}
+
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_value_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_attribute_value_by_number(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser, i);
+
+
+}
+
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_attribute_namespace_by_number(
+ axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_attribute_namespace_by_number(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser, i);
+
+
+}
+
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_value(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_value(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+
+
+}
+
+int AXIS2_CALL
+axis2_guththila_wrapper_get_namespace_count(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, AXIS2_FAILURE);
+ return guththila_xml_pull_parser_get_namespace_count(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+
+
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_namespace_uri_by_number(axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_namespace_uri_by_number(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser, i);
+
+
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_namespace_prefix_by_number(
+ axis2_pull_parser_t *parser,
+ axis2_env_t **env,
+ int i)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_namespace_prefix_by_number(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser, i);
+
+
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_prefix(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_prefix(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+
+
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_name(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(parser,env, NULL);
+ return guththila_xml_pull_parser_get_name(
+ AXIS2_INTF_TO_IMPL(parser)->guththila_env,
+ AXIS2_INTF_TO_IMPL(parser)->guththila_parser);
+
+
+}
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_pi_target(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+{
+ /* guththila_does not support pi's yet*/
+ return NULL;
+ }
+
+axis2_char_t* AXIS2_CALL
+axis2_guththila_wrapper_get_pi_data(axis2_pull_parser_t *parser,
+ axis2_env_t **env)
+ {
+ /* guththila_dose not support yet */
+ return NULL;
+ }
Added: webservices/axis2/trunk/c/modules/xml/parser/guththila/src/guththila_xml_writer_wrapper.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/parser/guththila/src/guththila_xml_writer_wrapper.c?rev=344891&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/parser/guththila/src/guththila_xml_writer_wrapper.c (added)
+++ webservices/axis2/trunk/c/modules/xml/parser/guththila/src/guththila_xml_writer_wrapper.c Tue Nov 15 21:13:20 2005
@@ -0,0 +1,763 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <guththila_xml_stream_writer.h>
+#include <axis2.h>
+#include <axis2_env.h>
+#include <axis2_xml_writer.h>
+/*********************** function prototypes ***********************************/
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_free(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_element(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_end_start_element(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_element_with_namespace(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_element_with_namespace_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_empty_element(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_empty_element_with_namespace(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_empty_element_with_namespace_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_end_element(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_end_document(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_attribute(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_attribute_with_namespace(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value,
+ axis2_char_t *namespace_uri);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_attribute_with_namespace_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_namespace(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *prefix,
+ axis2_char_t *namespace_uri);
+
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_default_namespace
+ (axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *namespace_uri);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_comment(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *value);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_processing_instruction(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *target);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_processing_instruction_data(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *target,
+ axis2_char_t *data);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_cdata(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *data);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_dtd(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *dtd);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_entity_ref(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *name);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_document(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_document_with_version(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *version);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_document_with_version_encoding(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *encoding,
+ axis2_char_t *version);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_characters(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *text);
+
+axis2_char_t* AXIS2_CALL
+guththila_xml_writer_wrapper_get_prefix( axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *uri);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_set_prefix( axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *prefix,
+ axis2_char_t *uri);
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_set_default_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *uri);
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_encoded(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *text,
+ int in_attr);
+
+
+
+/**************************** end function pointers ****************************/
+
+typedef struct guththila_xml_writer_wrapper_impl
+{
+ axis2_xml_writer_t writer;
+ guththila_xml_stream_writer_t *guththila_writer;
+ guththila_environment_t *guththila_env;
+}guththila_xml_writer_wrapper_impl_t;
+
+
+/***************************** Macros ******************************************/
+
+#define AXIS2_INTF_TO_IMPL(p) ((guththila_xml_writer_wrapper_impl_t*)p)
+
+/****************************** End macro **************************************/
+
+AXIS2_DECLARE(axis2_xml_writer_t *)
+axis2_xml_writer_create(axis2_env_t **env,
+ void *stream,
+ axis2_char_t *encoding, int is_prefix_default)
+{
+ guththila_xml_writer_wrapper_impl_t *writer_impl;
+ guththila_allocator_t *allocator;
+
+
+ AXIS2_ENV_CHECK(env, NULL);
+
+ writer_impl = (guththila_xml_writer_wrapper_impl_t *)AXIS2_MALLOC((*env)->allocator,
+ sizeof(guththila_xml_writer_wrapper_impl_t));
+ if(!writer_impl)
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+
+
+ allocator = guththila_allocator_init(NULL);
+ writer_impl->guththila_env = guththila_environment_create(allocator, NULL, NULL, NULL, NULL);
+ writer_impl->guththila_writer = guththila_create_xml_stream_writer(
+ writer_impl->guththila_env,
+ stream, encoding ,
+ is_prefix_default);
+
+ if(!(writer_impl->guththila_writer))
+ {
+ AXIS2_FREE((*env)->allocator,writer_impl);
+ AXIS2_FREE((*env)->allocator,allocator);
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+
+ writer_impl->writer.ops = NULL;
+ writer_impl->writer.ops = (axis2_xml_writer_ops_t*)AXIS2_MALLOC((*env)->allocator,
+ sizeof(axis2_xml_writer_ops_t));
+ if(!(writer_impl->writer.ops))
+ {
+ AXIS2_FREE((*env)->allocator,writer_impl);
+ AXIS2_FREE((*env)->allocator,allocator);
+
+ AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_MEMORY, NULL);
+ }
+ /* operations */
+ writer_impl->writer.ops->free = guththila_xml_writer_wrapper_free;
+ writer_impl->writer.ops->write_start_element = guththila_xml_writer_wrapper_write_start_element;
+ writer_impl->writer.ops->write_start_element_with_namespace =
+ guththila_xml_writer_wrapper_write_start_element_with_namespace;
+ writer_impl->writer.ops->write_start_element_with_namespace_prefix =
+ guththila_xml_writer_wrapper_write_start_element_with_namespace_prefix;
+
+ writer_impl->writer.ops->write_empty_element = guththila_xml_writer_wrapper_write_empty_element;
+ writer_impl->writer.ops->write_empty_element_with_namespace =
+ guththila_xml_writer_wrapper_write_empty_element_with_namespace;
+ writer_impl->writer.ops->write_empty_element_with_namespace_prefix =
+ guththila_xml_writer_wrapper_write_empty_element_with_namespace_prefix;
+
+ writer_impl->writer.ops->write_end_element =
+ guththila_xml_writer_wrapper_write_end_element;
+ writer_impl->writer.ops->write_end_document =
+ guththila_xml_writer_wrapper_write_end_document;
+
+ writer_impl->writer.ops->write_attribute =
+ guththila_xml_writer_wrapper_write_attribute;
+ writer_impl->writer.ops->write_attribute_with_namespace =
+ guththila_xml_writer_wrapper_write_attribute_with_namespace;
+ writer_impl->writer.ops->write_attribute_with_namespace_prefix =
+ guththila_xml_writer_wrapper_write_attribute_with_namespace_prefix;
+ writer_impl->writer.ops->write_namespace =
+ guththila_xml_writer_wrapper_write_namespace;
+ writer_impl->writer.ops->write_default_namespace =
+ guththila_xml_writer_wrapper_write_default_namespace;
+ writer_impl->writer.ops->write_comment =
+ guththila_xml_writer_wrapper_write_comment;
+ writer_impl->writer.ops->write_processing_instruction =
+ guththila_xml_writer_wrapper_write_processing_instruction;
+ writer_impl->writer.ops->write_processing_instruction_data =
+ guththila_xml_writer_wrapper_write_processing_instruction_data;
+ writer_impl->writer.ops->write_cdata =
+ guththila_xml_writer_wrapper_write_cdata;
+ writer_impl->writer.ops->write_dtd =
+ guththila_xml_writer_wrapper_write_dtd;
+ writer_impl->writer.ops->write_entity_ref =
+ guththila_xml_writer_wrapper_write_entity_ref;
+ writer_impl->writer.ops->write_start_document =
+ guththila_xml_writer_wrapper_write_start_document;
+ writer_impl->writer.ops->write_start_document_with_version =
+ guththila_xml_writer_wrapper_write_start_document_with_version;
+ writer_impl->writer.ops->write_start_document_with_version_encoding =
+ guththila_xml_writer_wrapper_write_start_document_with_version_encoding;
+ writer_impl->writer.ops->write_characters =
+ guththila_xml_writer_wrapper_write_characters;
+ writer_impl->writer.ops->get_prefix =
+ guththila_xml_writer_wrapper_get_prefix;
+ writer_impl->writer.ops->set_prefix = guththila_xml_writer_wrapper_set_prefix;
+ writer_impl->writer.ops->set_default_prefix =
+ guththila_xml_writer_wrapper_set_default_prefix;
+ writer_impl->writer.ops->write_encoded =
+ guththila_xml_writer_wrapper_write_encoded;
+
+
+
+
+
+ return &(writer_impl->writer);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_free(axis2_xml_writer_t *writer,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ if(AXIS2_INTF_TO_IMPL(writer)->guththila_writer)
+ { /* should be implemented */}
+ if(AXIS2_INTF_TO_IMPL(writer)->guththila_env)
+ { /* should be implemented */ }
+ if(writer->ops)
+ AXIS2_FREE((*env)->allocator, writer->ops);
+ AXIS2_FREE((*env)->allocator, AXIS2_INTF_TO_IMPL(writer));
+ return AXIS2_SUCCESS;
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_element(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname)
+{
+ int status = AXIS2_SUCCESS;
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ status = guththila_xml_stream_writer_write_start_element(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname);
+ return status;
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_end_start_element(axis2_xml_writer_t *writer,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_end_start_element(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_element_with_namespace(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error,namespace_uri, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_start_element_with_namespace(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname,
+ namespace_uri);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_element_with_namespace_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, prefix, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_start_element_with_namespace_prefix(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname, namespace_uri, prefix);
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_empty_element(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_empty_element(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer, localname);
+
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_empty_element_with_namespace(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_empty_element_with_namespace(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname, namespace_uri);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_empty_element_with_namespace_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, prefix, AXIS2_FAILURE);
+
+ return guththila_xml_stream_writer_write_empty_element_with_namespace_prefix(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname, namespace_uri, prefix);
+
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_end_element(axis2_xml_writer_t *writer,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_end_element(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_end_document(axis2_xml_writer_t *writer,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_end_document(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer);
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_attribute(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, value, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_attribute(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname, value);
+
+
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_attribute_with_namespace(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value,
+ axis2_char_t *namespace_uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+
+ return guththila_xml_stream_writer_write_attribute_with_namespace(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname, value, namespace_uri);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_attribute_with_namespace_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, localname, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, prefix , AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_attribute_with_namespace_prefix(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ localname, value, namespace_uri, prefix);
+
+
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_namespace(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *prefix,
+ axis2_char_t *namespace_uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, prefix , AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_namespace(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ prefix, namespace_uri);
+
+}
+
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_default_namespace
+ (axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *namespace_uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, namespace_uri, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_default_namespace(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ namespace_uri);
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_comment(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *value)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, value, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_comment(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ value);
+
+}
+
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_processing_instruction(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *target)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, target, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_processing_instruction(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ target);
+
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_processing_instruction_data(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *target,
+ axis2_char_t *data)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, target, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, data, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_processing_instruction_data(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ target, data);
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_cdata(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *data)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, data, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_cdata(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ data);
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_dtd(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *dtd)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, dtd, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_dtd(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ dtd);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_entity_ref(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *name)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, name, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_entity_ref(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ name);
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_document(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_start_document(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_document_with_version(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *version)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, version, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_start_document_with_version(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ version);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_start_document_with_version_encoding(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *encoding,
+ axis2_char_t *version)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, encoding, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, version, AXIS2_FAILURE);
+
+ return guththila_xml_stream_writer_write_start_document_with_version_encoding(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ encoding, version);
+}
+
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_characters(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *text)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, text, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_characters(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer,
+ text);
+}
+
+axis2_char_t* AXIS2_CALL
+guththila_xml_writer_wrapper_get_prefix( axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, uri, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_get_prefix(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer, uri);
+
+
+
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_set_prefix( axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *prefix,
+ axis2_char_t *uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, prefix, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, uri, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_set_prefix(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer, prefix, uri);
+
+}
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_set_default_prefix(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *uri)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, uri, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_set_default_prefix(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer, uri);
+}
+
+axis2_status_t AXIS2_CALL
+guththila_xml_writer_wrapper_write_encoded(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *text,
+ int in_attr)
+{
+ AXIS2_FUNC_PARAM_CHECK(writer, env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK((*env)->error, text, AXIS2_FAILURE);
+ return guththila_xml_stream_writer_write_encoded(
+ AXIS2_INTF_TO_IMPL(writer)->guththila_env,
+ AXIS2_INTF_TO_IMPL(writer)->guththila_writer, text, in_attr);
+}