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 sa...@apache.org on 2005/10/24 10:17:17 UTC

svn commit: r327989 [4/4] - /webservices/axis2/trunk/c/modules/xml/guththila/src/

Modified: webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.c?rev=327989&r1=327988&r2=327989&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.c (original)
+++ webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.c Mon Oct 24 01:15:14 2005
@@ -16,34 +16,30 @@
  */
  
 #include "guththila_xml_stream_writer.h"
-#include <apr.h>
-#include <apr_pools.h>
-#include <apr_hash.h>
-#include <apr_tables.h>
-#include <apr_strings.h>
+#include "guththila_array.h"
+#include "guththila_hash.h"
 
-static apr_pool_t *guththila_apr_pool; /* a memory pool to be used for this module */
 
 struct guththila_xml_stream_writer
 {
     FILE* writer;
-    char* encoding;
+    guththila_char_t* encoding;
     int prefix_defaulting;
-    apr_array_header_t *element_stack; /*stack of element names (apr array is FILO)*/
-    apr_hash_t* namespace_hash; /*hash map with key:namespace and value:prefix */
-    apr_hash_t* prefix_hash; /*hash map with key:prefix and value:namespace*/
+    guththila_array_header_t *element_stack; /*stack of element names (apr array is FILO)*/
+    guththila_hash_t* namespace_hash; /*hash map with key:namespace and value:prefix */
+    guththila_hash_t* prefix_hash; /*hash map with key:prefix and value:namespace*/
     int in_start_element;
     int empty_element;
 };
 
-  guththila_xml_stream_writer_t* guththila_create_xml_stream_writer(FILE* writer, char* encoding, int prefix_defaulting)
+  guththila_xml_stream_writer_t* guththila_create_xml_stream_writer(guththila_environment_t *environment,FILE* writer, guththila_char_t* encoding, int prefix_defaulting)
 {
-    apr_status_t status;
+    guththila_status_t status;
     guththila_xml_stream_writer_t *stream_writer;
     if (!writer)
         return 0;
     
-    stream_writer = (guththila_xml_stream_writer_t*) malloc (sizeof (guththila_xml_stream_writer_t));
+    stream_writer = (guththila_xml_stream_writer_t*)guththila_malloc (environment->allocator,sizeof (guththila_xml_stream_writer_t));
     stream_writer->writer = writer;
     if (encoding)
         stream_writer->encoding = encoding;
@@ -51,25 +47,20 @@
 
       /*initialize APR pool, we ned this pool to allocate memory to hash map and stack*/
 
-    
-
-    if (!guththila_apr_pool)
-    {
-        status = apr_pool_create(&guththila_apr_pool, NULL);
-    }
+   
 
-    stream_writer->element_stack = apr_array_make(guththila_apr_pool, 64, sizeof(char**));
-    stream_writer->namespace_hash = apr_hash_make(guththila_apr_pool);
-    stream_writer->prefix_hash = apr_hash_make(guththila_apr_pool);
+    stream_writer->element_stack = guththila_array_make(environment,64, sizeof(guththila_char_t**));
+    stream_writer->namespace_hash = guththila_hash_make(environment);
+    stream_writer->prefix_hash = guththila_hash_make(environment);
     stream_writer->in_start_element = 0;
     stream_writer->empty_element = 0;
 
     return stream_writer;
 }
 
-  int guththila_xml_stream_writer_end_start_element(guththila_xml_stream_writer_t* stream_writer)
+  int guththila_xml_stream_writer_end_start_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer)
 {
-    char*** del_element;
+    guththila_char_t*** del_element;
     if (!stream_writer)
         return GUTHTHILA_STREAM_WRITER_ERROR_STREAM_STRUCT_NULL;
     if (!stream_writer->in_start_element)
@@ -82,14 +73,14 @@
         }
 
           /*pop last element and delete that elelemt */
-        del_element = (char***) apr_array_pop( stream_writer->element_stack );
+        del_element = (guththila_char_t***) guththila_array_pop( stream_writer->element_stack );
         if (del_element)
         {
             if ((*del_element)[0])
-                free((*del_element)[0]);
+               guththila_free(environment->allocator,(*del_element)[0]);
             if ((*del_element)[1])
-                free((*del_element)[1]);
-            free(del_element);
+                guththila_free(environment->allocator,(*del_element)[1]);
+            guththila_free(environment->allocator,del_element);
         }
         del_element = 0;
         
@@ -104,23 +95,23 @@
     return GUTHTHILA_SUCCESS;
 }
 
-  int guththila_xml_stream_writer_write_start_element(guththila_xml_stream_writer_t* stream_writer, char* local_name)
+  int guththila_xml_stream_writer_write_start_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name)
 {
-    char*** new_element;
+    guththila_char_t*** new_element;
     if (!stream_writer)
         return GUTHTHILA_STREAM_WRITER_ERROR_STREAM_STRUCT_NULL;
     if (!local_name)
         return GUTHTHILA_STREAM_WRITER_ERROR_LOCAL_NAME_NULL;
-    guththila_xml_stream_writer_end_start_element(stream_writer);
+    guththila_xml_stream_writer_end_start_element(environment,stream_writer);
           /*namespaces.pushContext();*/
     fputs("<", stream_writer->writer);
     fputs(local_name, stream_writer->writer);
 
           /*push element to stack*/
-    new_element = (char***)apr_array_push(stream_writer->element_stack);
-    *new_element = (char**) malloc( sizeof(char**) * 2 );
+    new_element = (guththila_char_t***)guththila_array_push(stream_writer->element_stack);
+    *new_element = (guththila_char_t**) guththila_malloc(environment->allocator, sizeof(guththila_char_t**) * 2 );
     (*new_element)[0] = 0;
-    (*new_element)[1] = strdup(local_name);
+    (*new_element)[1] = guththila_strdup(environment->string,local_name);
           /*end push element*/
 
     stream_writer->in_start_element = 1;
@@ -129,11 +120,11 @@
 }
 
   
-  int guththila_xml_stream_writer_write_start_element_with_namespace(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri)
+  int guththila_xml_stream_writer_write_start_element_with_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri)
 {
     int is_declared ;
-    char*** new_element;
-    char* prefix;
+    guththila_char_t*** new_element;
+    guththila_char_t* prefix;
     if (!stream_writer)
         return GUTHTHILA_STREAM_WRITER_ERROR_STREAM_STRUCT_NULL;
     if (!local_name)
@@ -141,9 +132,9 @@
     if (!namespace_uri)
         return GUTHTHILA_STREAM_WRITER_ERROR_guththila_namespace_t_NULL;
       
-    guththila_xml_stream_writer_end_start_element(stream_writer);
+    guththila_xml_stream_writer_end_start_element(environment,stream_writer);
         
-    prefix = guththila_xml_stream_writer_get_prefix(stream_writer, namespace_uri);
+    prefix = guththila_xml_stream_writer_get_prefix(environment,stream_writer, namespace_uri);
 
     is_declared = (prefix != 0);
       
@@ -157,7 +148,7 @@
       
     fputs("<", stream_writer->writer);
         
-    if (prefix && strlen(prefix) != 0)
+    if (prefix && guththila_strlen(environment->string,prefix) != 0)
     {
         fputs(prefix, stream_writer->writer);
         fputs(":", stream_writer->writer);
@@ -168,17 +159,17 @@
     if (stream_writer->prefix_defaulting && !is_declared)
     {
         if (prefix)
-            guththila_xml_stream_writer_write_namespace(stream_writer, prefix, namespace_uri);
+            guththila_xml_stream_writer_write_namespace(environment,stream_writer, prefix, namespace_uri);
     }
         /*push element to stack*/
-    /*char** new_element = (char**)apr_array_push(stream_writer->element_stack);*/
-    new_element = (char***)apr_array_push(stream_writer->element_stack);
-    *new_element = (char**) malloc( sizeof(char**) * 2 );
+    /*guththila_char_t** new_element = (guththila_char_t**)apr_array_push(stream_writer->element_stack);*/
+    new_element = (guththila_char_t***)guththila_array_push(stream_writer->element_stack);
+    *new_element = (guththila_char_t**)guththila_malloc(environment->allocator ,sizeof(guththila_char_t**) * 2 );
     if(prefix)
-        (*new_element)[0] = strdup(prefix);
+        (*new_element)[0] = guththila_strdup(environment->string,prefix);
     else
         (*new_element)[0] = 0;
-    (*new_element)[1] = strdup(local_name);
+    (*new_element)[1] = guththila_strdup(environment->string,local_name);
           /*end push element*/
       
     stream_writer->in_start_element = 1;
@@ -186,11 +177,11 @@
     return GUTHTHILA_SUCCESS;
 }
 
-  int guththila_xml_stream_writer_write_start_element_with_namespace_prefix(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri, char* prefix)
+  int guththila_xml_stream_writer_write_start_element_with_namespace_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri, guththila_char_t* prefix)
 {
-    char* current_prefix;
+    guththila_char_t* current_prefix;
     int is_current = 0;
-    char*** new_element;
+    guththila_char_t*** new_element;
     if (!stream_writer)
         return GUTHTHILA_STREAM_WRITER_ERROR_STREAM_STRUCT_NULL;
     if (!local_name)
@@ -200,15 +191,15 @@
     if (!prefix)
         return GUTHTHILA_STREAM_WRITER_ERROR_PREFIX_NULL;
     
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
 
-        current_prefix = guththila_xml_stream_writer_get_prefix(stream_writer, namespace_uri);
+        current_prefix = guththila_xml_stream_writer_get_prefix(environment,stream_writer, namespace_uri);
         
         if(current_prefix)
-            is_current = ( strcmp(prefix, current_prefix) != 0 );
+            is_current = ( guththila_strcmp(environment->string,prefix, current_prefix) != 0 );
         fputs("<", stream_writer->writer);
 
-        if (prefix && strlen(prefix) != 0)
+        if (prefix && guththila_strlen(environment->string,prefix) != 0)
         {
             fputs(prefix, stream_writer->writer);
             fputs(":", stream_writer->writer);
@@ -219,19 +210,19 @@
         if (stream_writer->prefix_defaulting && !is_current)
         {
             if (prefix)
-                guththila_xml_stream_writer_write_namespace(stream_writer, prefix, namespace_uri);
+                guththila_xml_stream_writer_write_namespace(environment,stream_writer, prefix, namespace_uri);
         }
 
         /*push element to stack*/
-        /*char** new_element = (char**)apr_array_push(stream_writer->element_stack);*/
-        new_element = (char***)apr_array_push(stream_writer->element_stack);
+        /*guththila_char_t** new_element = (guththila_char_t**)apr_array_push(stream_writer->element_stack);*/
+        new_element = (guththila_char_t***)guththila_array_push(stream_writer->element_stack);
         
-        *new_element = (char**) malloc( sizeof(char**) * 2 );
+        *new_element = (guththila_char_t**) guththila_malloc( environment->allocator,sizeof(guththila_char_t**) * 2 );
         if(prefix)
-            (*new_element)[0] = strdup(prefix);
+            (*new_element)[0] = guththila_strdup(environment->string,prefix);
         else
             (*new_element)[0] = 0;
-        (*new_element)[1] = strdup(local_name);
+        (*new_element)[1] = guththila_strdup(environment->string,local_name);
           /*end push element*/
 
         stream_writer->in_start_element = 1;
@@ -240,9 +231,9 @@
     }
 
 
-    int guththila_xml_stream_writer_write_empty_element(guththila_xml_stream_writer_t* stream_writer, char* local_name)
+    int guththila_xml_stream_writer_write_empty_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name)
     {
-        int ret = guththila_xml_stream_writer_write_start_element(stream_writer,  local_name);
+        int ret = guththila_xml_stream_writer_write_start_element(environment,stream_writer,  local_name);
         
         if (ret != GUTHTHILA_SUCCESS)
             return ret;
@@ -252,9 +243,9 @@
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_empty_element_with_namespace(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri)
+    int guththila_xml_stream_writer_write_empty_element_with_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri)
     {
-        int ret = guththila_xml_stream_writer_write_start_element_with_namespace(stream_writer,  local_name, namespace_uri);
+        int ret = guththila_xml_stream_writer_write_start_element_with_namespace(environment,stream_writer,  local_name, namespace_uri);
         
         if (ret != GUTHTHILA_SUCCESS)
             return ret;
@@ -264,9 +255,9 @@
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_empty_element_with_namespace_prefix(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri, char* prefix)
+    int guththila_xml_stream_writer_write_empty_element_with_namespace_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri, guththila_char_t* prefix)
     {
-        int ret = guththila_xml_stream_writer_write_start_element_with_namespace_prefix(stream_writer,  local_name, namespace_uri, prefix);
+        int ret = guththila_xml_stream_writer_write_start_element_with_namespace_prefix(environment,stream_writer,  local_name, namespace_uri, prefix);
         
         if (ret != GUTHTHILA_SUCCESS)
             return ret;
@@ -276,13 +267,13 @@
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_end_element(guththila_xml_stream_writer_t* stream_writer)
+    int guththila_xml_stream_writer_write_end_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer)
     {
-        char*** element_data;
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_char_t*** element_data;
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
     
             /* pop element stack*/
-        element_data = (char***) apr_array_pop(stream_writer->element_stack);
+        element_data = (guththila_char_t***) guththila_array_pop(stream_writer->element_stack);
         if (!element_data )
             return GUTHTHILA_STREAM_WRITER_ERROR_guththila_element_t_guththila_stack_t_EMPTY;
 
@@ -290,14 +281,14 @@
 
         fputs("</", stream_writer->writer);
 
-        if ((*element_data)[0] && strlen((*element_data)[0]) > 0 )
+        if ((*element_data)[0] && guththila_strlen(environment->string,(*element_data)[0]) > 0 )
         {
             fputs((*element_data)[0], stream_writer->writer);
             fputs(":", stream_writer->writer);
             free( (*element_data)[0]);
         }
 
-        if((*element_data)[1] && strlen((*element_data)[1]) > 0)
+        if((*element_data)[1] && guththila_strlen(environment->string,(*element_data)[1]) > 0)
         {
             fputs((*element_data)[1], stream_writer->writer);
             free( (*element_data)[1]);
@@ -313,12 +304,12 @@
     }
 
 
-    int guththila_xml_stream_writer_write_end_document(guththila_xml_stream_writer_t* stream_writer)
+    int guththila_xml_stream_writer_write_end_document(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer)
 
     {
-        while (!apr_is_empty_array(stream_writer->element_stack))
+        while (!guththila_is_empty_array(stream_writer->element_stack))
         {
-            int ret = guththila_xml_stream_writer_write_end_element (stream_writer);
+            int ret = guththila_xml_stream_writer_write_end_element (environment,stream_writer);
             if (ret != GUTHTHILA_SUCCESS)
                 return ret;
         
@@ -327,7 +318,7 @@
     }
 
 
-    int guththila_xml_stream_writer_write_attribute(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* value)
+    int guththila_xml_stream_writer_write_attribute(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* value)
     {
         if (!stream_writer->in_start_element)
             return GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_STATE;
@@ -335,26 +326,26 @@
         fputs(" ", stream_writer->writer);
         fputs(local_name, stream_writer->writer);
         fputs("=\"", stream_writer->writer);
-        guththila_xml_stream_writer_write_encoded(stream_writer, value, 1);
+        guththila_xml_stream_writer_write_encoded(environment,stream_writer, value, 1);
         fputs("\"", stream_writer->writer);
 
         return GUTHTHILA_SUCCESS;
     }
 
     
-    int guththila_xml_stream_writer_write_attribute_with_namespace(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* value, char* namespace_uri)
+    int guththila_xml_stream_writer_write_attribute_with_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* value, guththila_char_t* namespace_uri)
     {
-        char* prefix;
+        guththila_char_t* prefix;
         if (!stream_writer->in_start_element)
             return GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_STATE;
 
-        prefix = guththila_xml_stream_writer_get_prefix(stream_writer, namespace_uri);
+        prefix = guththila_xml_stream_writer_get_prefix(environment,stream_writer, namespace_uri);
         if (!prefix)
         {
             if (stream_writer->prefix_defaulting)
             {
                 prefix = GUTHTHILA_DEFAULT_NS_PREFIX;
-                guththila_xml_stream_writer_write_namespace(stream_writer, prefix, namespace_uri);
+                guththila_xml_stream_writer_write_namespace(environment,stream_writer, prefix, namespace_uri);
             }
             else
                 return GUTHTHILA_STREAM_WRITER_ERROR_guththila_namespace_t_NOT_DECLARED;
@@ -362,69 +353,69 @@
 
         fputs(" ", stream_writer->writer);
             
-        if (prefix && strlen(prefix) > 0)
+        if (prefix && guththila_strlen(environment->string,prefix) > 0)
         {
             fputs(prefix, stream_writer->writer);
             fputs(":", stream_writer->writer);
         }
         fputs(local_name, stream_writer->writer);
         fputs("=\"", stream_writer->writer);
-        guththila_xml_stream_writer_write_encoded(stream_writer, value, 1);
+        guththila_xml_stream_writer_write_encoded(environment,stream_writer, value, 1);
         fputs("\"", stream_writer->writer);
 
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_attribute_with_namespace_prefix(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* value, char* namespace_uri, char* prefix)
+    int guththila_xml_stream_writer_write_attribute_with_namespace_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* value, guththila_char_t* namespace_uri, guththila_char_t* prefix)
     {
-        char* current_prefix;
+        guththila_char_t* current_prefix;
         if (!stream_writer->in_start_element)
             return GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_STATE;
         
-        current_prefix = guththila_xml_stream_writer_get_prefix(stream_writer, namespace_uri);
+        current_prefix = guththila_xml_stream_writer_get_prefix(environment,stream_writer, namespace_uri);
         if (!current_prefix)
         {
             if (stream_writer->prefix_defaulting)
-                guththila_xml_stream_writer_write_namespace(stream_writer, prefix, namespace_uri);
+                guththila_xml_stream_writer_write_namespace(environment,stream_writer, prefix, namespace_uri);
             else
                 return GUTHTHILA_STREAM_WRITER_ERROR_guththila_namespace_t_NOT_DECLARED;
         }
-        else if (strcmp(current_prefix, prefix) != 0 )
+        else if ( guththila_strcmp(environment->string,current_prefix, prefix) != 0 ) 
             return GUTHTHILA_STREAM_WRITER_ERROR_guththila_namespace_t_NOT_DECLARED;
 
         fputs(" ", stream_writer->writer);
 
-        if (prefix && strlen(prefix) > 0)
+        if (prefix && guththila_strlen(environment->string,prefix) > 0)
         {
             fputs(prefix, stream_writer->writer);
             fputs(":", stream_writer->writer);
         }
         fputs(local_name, stream_writer->writer);
         fputs("=\"", stream_writer->writer);
-        guththila_xml_stream_writer_write_encoded(stream_writer, value, 1);
+        guththila_xml_stream_writer_write_encoded(environment,stream_writer, value, 1);
         fputs("\"", stream_writer->writer);
 
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_namespace(guththila_xml_stream_writer_t* stream_writer, char* prefix, char* namespace_uri)
+    int guththila_xml_stream_writer_write_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* prefix, guththila_char_t* namespace_uri)
     {
-        char* declared_prefix;
+        guththila_char_t* declared_prefix;
         if (!stream_writer->in_start_element)
             return GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_STATE;
         
         if (!prefix)
             prefix = GUTHTHILA_DEFAULT_NS_PREFIX;
 
-        declared_prefix = guththila_xml_stream_writer_get_prefix(stream_writer, namespace_uri);
-        if (declared_prefix && strcmp(prefix, declared_prefix) == 0)
+        declared_prefix = guththila_xml_stream_writer_get_prefix(environment,stream_writer, namespace_uri);
+        if (declared_prefix &&  guththila_strcmp(environment->string,prefix, declared_prefix) == 0)
             return GUTHTHILA_SUCCESS;
-        guththila_xml_stream_writer_set_prefix(stream_writer, prefix, namespace_uri);
+        guththila_xml_stream_writer_set_prefix(environment,stream_writer, prefix, namespace_uri);
         
         fputs(" ", stream_writer->writer);
         fputs("xmlns", stream_writer->writer);
         
-        if (strcmp(GUTHTHILA_DEFAULT_NS_PREFIX, prefix) != 0)
+        if ( guththila_strcmp(environment->string,GUTHTHILA_DEFAULT_NS_PREFIX, prefix) != 0)
         {
             fputs(":", stream_writer->writer);
             fputs(prefix, stream_writer->writer);
@@ -435,17 +426,17 @@
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_default_namespace(guththila_xml_stream_writer_t* stream_writer, char* namespace_uri)
+    int guththila_xml_stream_writer_write_default_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* namespace_uri)
     {
-        int ret = guththila_xml_stream_writer_write_namespace(stream_writer, GUTHTHILA_DEFAULT_NS_PREFIX, namespace_uri);
+        int ret = guththila_xml_stream_writer_write_namespace(environment,stream_writer, GUTHTHILA_DEFAULT_NS_PREFIX, namespace_uri);
         return ret;
     }
 
 
-    int guththila_xml_stream_writer_write_comment(guththila_xml_stream_writer_t* stream_writer, char* data)
+    int guththila_xml_stream_writer_write_comment(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* data)
     {
-        char* ptr;
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_char_t* ptr;
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
 
         if (!data)
             return GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_COMMENT_NULL;
@@ -466,18 +457,18 @@
     }
 
    
-    int guththila_xml_stream_writer_write_processing_instruction(guththila_xml_stream_writer_t* stream_writer, char* target)
+    int guththila_xml_stream_writer_write_processing_instruction(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* target)
     {
-        int ret = guththila_xml_stream_writer_write_processing_instruction_data(stream_writer, target, 0);
+        int ret = guththila_xml_stream_writer_write_processing_instruction_data(environment,stream_writer, target, 0);
         return ret;
     }
 
-    int guththila_xml_stream_writer_write_processing_instruction_data(guththila_xml_stream_writer_t* stream_writer, char* target, char* data)
+    int guththila_xml_stream_writer_write_processing_instruction_data(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* target, guththila_char_t* data)
     {
         if (!target)
             return GUTHTHILA_STREAM_WRITER_ERROR_PROCESSING_INSTRUCTION_TARGET_NULL;
     
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
 
         fputs("<?", stream_writer->writer);
         fputs(target, stream_writer->writer);
@@ -494,13 +485,13 @@
     }
 
 
-    int guththila_xml_stream_writer_write_cdata(guththila_xml_stream_writer_t* stream_writer, char* data)
+    int guththila_xml_stream_writer_write_cdata(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* data)
     {
-        char* ptr;
+        guththila_char_t* ptr;
         if (!data)
             return GUTHTHILA_STREAM_WRITER_ERROR_CDATA_NULL;
     
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
 
         ptr = data;
         while (*ptr)
@@ -518,7 +509,7 @@
     }
 
 
-    int guththila_xml_stream_writer_write_dtd(guththila_xml_stream_writer_t* stream_writer, char* dtd)
+    int guththila_xml_stream_writer_write_dtd(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* dtd)
     {
         if (!dtd)
             return GUTHTHILA_STREAM_WRITER_ERROR_DTD_NULL;
@@ -531,12 +522,12 @@
     }
 
 
-    int guththila_xml_stream_writer_write_entity_ref(guththila_xml_stream_writer_t* stream_writer, char* name)
+    int guththila_xml_stream_writer_write_entity_ref(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* name)
     {
         if (!name)
             return GUTHTHILA_STREAM_WRITER_ERROR_ENTITY_REF_NULL;
     
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
 
         fputs( "&", stream_writer->writer);
         fputs(name, stream_writer->writer);
@@ -546,29 +537,29 @@
     }
 
 
-    int guththila_xml_stream_writer_write_start_document(guththila_xml_stream_writer_t* stream_writer)
+    int guththila_xml_stream_writer_write_start_document(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer)
     {
-        int ret = guththila_xml_stream_writer_write_start_document_with_version_encoding(stream_writer, 0, 0);
+        int ret = guththila_xml_stream_writer_write_start_document_with_version_encoding(environment,stream_writer, 0, 0);
         return ret;
     }
 
 
-    int guththila_xml_stream_writer_write_start_document_with_version(guththila_xml_stream_writer_t* stream_writer, char* version)
+    int guththila_xml_stream_writer_write_start_document_with_version(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* version)
     {
-        int ret = guththila_xml_stream_writer_write_start_document_with_version_encoding(stream_writer, 0, version);
+        int ret = guththila_xml_stream_writer_write_start_document_with_version_encoding(environment,stream_writer, 0, version);
         return ret;
     
     }
 
    
-    int guththila_xml_stream_writer_write_start_document_with_version_encoding(guththila_xml_stream_writer_t* stream_writer, char* encoding, char* version)
+    int guththila_xml_stream_writer_write_start_document_with_version_encoding(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* encoding, guththila_char_t* version)
     {
         if (!version)
             version = "1.0";
     
         encoding = "UTF-8"; /* The parameter is ignored*/
     
-        if ( (strcmp("1.0", version) != 0) && (strcmp("1.1", version) != 0 ) )
+        if ( ( guththila_strcmp(environment->string,"1.0", version) != 0) && ( guththila_strcmp(environment->string,"1.1", version) != 0 ) )
             return GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_XML_VERSION;
     
         fputs( "<?xml version=\"", stream_writer->writer);
@@ -581,30 +572,30 @@
         return GUTHTHILA_SUCCESS;
     }
 
-    int guththila_xml_stream_writer_write_characters(guththila_xml_stream_writer_t* stream_writer, char* text)
+    int guththila_xml_stream_writer_write_characters(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* text)
     {
         if (!text)
             return GUTHTHILA_STREAM_WRITER_ERROR_TEXT_NULL;
     
-        guththila_xml_stream_writer_end_start_element(stream_writer);
+        guththila_xml_stream_writer_end_start_element(environment,stream_writer);
 
         if (text)
-            guththila_xml_stream_writer_write_encoded(stream_writer, text, 0);
+            guththila_xml_stream_writer_write_encoded(environment,stream_writer, text, 0);
 
         return GUTHTHILA_SUCCESS;
     }
 
-    char* guththila_xml_stream_writer_get_prefix(guththila_xml_stream_writer_t* stream_writer, char* uri)
+    guththila_char_t* guththila_xml_stream_writer_get_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* uri)
     {
-        char* prefix;
+        guththila_char_t* prefix;
         if (!uri)
             return 0;
     
-        prefix = apr_hash_get(stream_writer->namespace_hash, uri, APR_HASH_KEY_STRING );
+        prefix = guththila_hash_get(stream_writer->namespace_hash, uri, GUTHTHILA_HASH_KEY_STRING );
         return prefix;
     }
 
-    int guththila_xml_stream_writer_set_prefix(guththila_xml_stream_writer_t* stream_writer, char* prefix, char* uri)
+    int guththila_xml_stream_writer_set_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* prefix, guththila_char_t* uri)
     {
         if (!prefix)
             return GUTHTHILA_STREAM_WRITER_ERROR_PREFIX_NULL;
@@ -612,24 +603,24 @@
         if (!uri)
             return GUTHTHILA_STREAM_WRITER_ERROR_guththila_namespace_t_NULL;
     
-        if ( strcmp(prefix, "xml") == 0 || strcmp (prefix, "xmlns") == 0)
+        if (  guththila_strcmp(environment->string,prefix, "xml") == 0 ||  guththila_strcmp(environment->string,prefix, "xmlns") == 0)
             return GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_PREFIX;
 
-        apr_hash_set(stream_writer->namespace_hash, uri, APR_HASH_KEY_STRING, prefix);
-        apr_hash_set(stream_writer->prefix_hash, prefix, APR_HASH_KEY_STRING, uri); /*over write another prefix*/
+        guththila_hash_set(stream_writer->namespace_hash, uri, GUTHTHILA_HASH_KEY_STRING, prefix);
+        guththila_hash_set(stream_writer->prefix_hash, prefix, GUTHTHILA_HASH_KEY_STRING, uri); /*over write another prefix*/
         return GUTHTHILA_SUCCESS;
     }
 
 
-    int guththila_xml_stream_writer_set_default_prefix(guththila_xml_stream_writer_t* stream_writer, char* uri){
-        return guththila_xml_stream_writer_set_prefix(stream_writer, GUTHTHILA_DEFAULT_NS_PREFIX, uri);
+    int guththila_xml_stream_writer_set_default_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* uri){
+        return guththila_xml_stream_writer_set_prefix(environment,stream_writer, GUTHTHILA_DEFAULT_NS_PREFIX, uri);
 
     }
 
-    int guththila_xml_stream_writer_write_encoded(guththila_xml_stream_writer_t* stream_writer, char* text, int in_attr)
+    int guththila_xml_stream_writer_write_encoded(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* text, int in_attr)
     {
-        char* start;
-        char* ptr;
+        guththila_char_t* start;
+        guththila_char_t* ptr;
         if (!text)
             return GUTHTHILA_STREAM_WRITER_ERROR_TEXT_NULL;
     
@@ -638,10 +629,10 @@
     
         for (ptr = text; *ptr; ptr++)
         {
-            char c = *ptr;
+            guththila_char_t c = *ptr;
             if (c == '<' || c == '>' || c == '&')
             {
-                char* to_write = apr_pstrndup(guththila_apr_pool, start, (apr_size_t)(ptr - start));
+                guththila_char_t* to_write = guththila_strndup(environment->string, start, (guththila_ssize_t)(ptr - start));
                 if (to_write)
                 {
                     fputs( to_write, stream_writer->writer);
@@ -663,7 +654,7 @@
             }
             else if (in_attr && (c == '"' || c == '\''))
             {
-                char* to_write = apr_pstrndup(guththila_apr_pool, start, (apr_size_t)(ptr - start));
+                guththila_char_t* to_write = guththila_strndup(environment->string, start, (guththila_ssize_t)(ptr - start));
                 if (to_write)
                 {
                     fputs( to_write, stream_writer->writer);
@@ -686,7 +677,7 @@
     
         if (ptr - start)
         {
-            char* to_write = apr_pstrndup(guththila_apr_pool, start, (apr_size_t)(ptr - start));
+            guththila_char_t* to_write = guththila_strndup(environment->string, start, (guththila_ssize_t)(ptr - start));
             if (to_write)
             {
                 fputs( to_write, stream_writer->writer);

Modified: webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.h?rev=327989&r1=327988&r2=327989&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.h (original)
+++ webservices/axis2/trunk/c/modules/xml/guththila/src/guththila_xml_stream_writer.h Mon Oct 24 01:15:14 2005
@@ -21,8 +21,8 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include "guththila_environment.h"
 
-#include "guththila_errno.h"
 
 #define  GUTHTHILA_DEFAULT_NS_PREFIX    ""
 
@@ -35,85 +35,85 @@
 
 
                    
-guththila_xml_stream_writer_t* guththila_create_xml_stream_writer(FILE* writer, char* encoding, int is_prefix_defaulting);
+guththila_xml_stream_writer_t* guththila_create_xml_stream_writer(guththila_environment_t *environment,FILE* writer, guththila_char_t* encoding, int is_prefix_defaulting);
   
-  int guththila_xml_stream_writer_end_start_element(guththila_xml_stream_writer_t* stream_writer);
+  int guththila_xml_stream_writer_end_start_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer);
   
 
-  int guththila_xml_stream_writer_write_start_element(guththila_xml_stream_writer_t* stream_writer, char* local_name);
+  int guththila_xml_stream_writer_write_start_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name);
   
 
-  int guththila_xml_stream_writer_write_start_element_with_namespace(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri);
+  int guththila_xml_stream_writer_write_start_element_with_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri);
   
 
-  int guththila_xml_stream_writer_write_start_element_with_namespace_prefix(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri, char* prefix);
+  int guththila_xml_stream_writer_write_start_element_with_namespace_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri, guththila_char_t* prefix);
 
 
-  int guththila_xml_stream_writer_write_empty_element(guththila_xml_stream_writer_t* stream_writer, char* local_name);
+  int guththila_xml_stream_writer_write_empty_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name);
 
 
-  int guththila_xml_stream_writer_write_empty_element_with_namespace(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri);
+  int guththila_xml_stream_writer_write_empty_element_with_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri);
 
 
 
-  int guththila_xml_stream_writer_write_empty_element_with_namespace_prefix(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* namespace_uri, char* prefix);
+  int guththila_xml_stream_writer_write_empty_element_with_namespace_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* namespace_uri, guththila_char_t* prefix);
 
 
-  int guththila_xml_stream_writer_write_end_element(guththila_xml_stream_writer_t* stream_writer);
+  int guththila_xml_stream_writer_write_end_element(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer);
     
-  int guththila_xml_stream_writer_write_end_document(guththila_xml_stream_writer_t* stream_writer);
+  int guththila_xml_stream_writer_write_end_document(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer);
 
 
-  int guththila_xml_stream_writer_write_attribute(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* value);
+  int guththila_xml_stream_writer_write_attribute(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* value);
 
 
-  int guththila_xml_stream_writer_write_attribute_with_namespace(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* value, char* namespace_uri);
+  int guththila_xml_stream_writer_write_attribute_with_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* value, guththila_char_t* namespace_uri);
     
 
-  int guththila_xml_stream_writer_write_attribute_with_namespace_prefix(guththila_xml_stream_writer_t* stream_writer, char* local_name, char* value, char* namespace_uri, char* prefix);
+  int guththila_xml_stream_writer_write_attribute_with_namespace_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* local_name, guththila_char_t* value, guththila_char_t* namespace_uri, guththila_char_t* prefix);
     
 
-  int guththila_xml_stream_writer_write_namespace(guththila_xml_stream_writer_t* stream_writer, char* prefix, char* namespace_uri);
+  int guththila_xml_stream_writer_write_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* prefix, guththila_char_t* namespace_uri);
 
 
-  int guththila_xml_stream_writer_write_default_namespace(guththila_xml_stream_writer_t* stream_writer, char* namespace_uri);
+  int guththila_xml_stream_writer_write_default_namespace(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* namespace_uri);
 
 
-  int guththila_xml_stream_writer_write_comment(guththila_xml_stream_writer_t* stream_writer, char* data);
+  int guththila_xml_stream_writer_write_comment(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* data);
     
-  int guththila_xml_stream_writer_write_processing_instruction(guththila_xml_stream_writer_t* stream_writer, char* target);
+  int guththila_xml_stream_writer_write_processing_instruction(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* target);
     
 
-  int guththila_xml_stream_writer_write_processing_instruction_data(guththila_xml_stream_writer_t* stream_writer, char* target, char* data);
+  int guththila_xml_stream_writer_write_processing_instruction_data(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* target, guththila_char_t* data);
 
 
-  int guththila_xml_stream_writer_write_cdata(guththila_xml_stream_writer_t* stream_writer, char* data);
+  int guththila_xml_stream_writer_write_cdata(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* data);
     
 
-  int guththila_xml_stream_writer_write_dtd(guththila_xml_stream_writer_t* stream_writer, char* dtd);
+  int guththila_xml_stream_writer_write_dtd(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* dtd);
     
-  int guththila_xml_stream_writer_write_entity_ref(guththila_xml_stream_writer_t* stream_writer, char* name);
+  int guththila_xml_stream_writer_write_entity_ref(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* name);
 
-  int guththila_xml_stream_writer_write_start_document(guththila_xml_stream_writer_t* stream_writer);
+  int guththila_xml_stream_writer_write_start_document(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer);
 
-  int guththila_xml_stream_writer_write_start_document_with_version(guththila_xml_stream_writer_t* stream_writer, char* version);
+  int guththila_xml_stream_writer_write_start_document_with_version(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* version);
 
 
-  int guththila_xml_stream_writer_write_start_document_with_version_encoding(guththila_xml_stream_writer_t* stream_writer, char* encoding, char* version);
+  int guththila_xml_stream_writer_write_start_document_with_version_encoding(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* encoding, guththila_char_t* version);
     
 
-  int guththila_xml_stream_writer_write_characters(guththila_xml_stream_writer_t* stream_writer, char* text);
+  int guththila_xml_stream_writer_write_characters(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* text);
 
 
-  char* guththila_xml_stream_writer_get_prefix(guththila_xml_stream_writer_t* stream_writer, char* uri);
+  guththila_char_t* guththila_xml_stream_writer_get_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* uri);
 
-  int guththila_xml_stream_writer_set_prefix(guththila_xml_stream_writer_t* stream_writer, char* prefix, char* uri);
+  int guththila_xml_stream_writer_set_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* prefix, guththila_char_t* uri);
 
 
-  int guththila_xml_stream_writer_set_default_prefix(guththila_xml_stream_writer_t* stream_writer, char* uri);
+  int guththila_xml_stream_writer_set_default_prefix(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* uri);
 
 
-  int guththila_xml_stream_writer_write_encoded(guththila_xml_stream_writer_t* stream_writer, char* text, int in_attr);
+  int guththila_xml_stream_writer_write_encoded(guththila_environment_t *environment,guththila_xml_stream_writer_t* stream_writer, guththila_char_t* text, int in_attr);
 
 
 #endif /*GUTHTHILA_XML_STREAM_WRITER_H*/