axiom_output.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_OUTPUT_H
00020 #define AXIOM_OUTPUT_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_utils.h>
00024 #include <axutil_env.h>
00025 #include <axiom_node.h>
00026 #include <axiom_xml_writer.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00043     typedef struct axiom_output axiom_output_t;
00044     struct axiom_text;
00045 
00053     AXIS2_EXTERN axiom_output_t *AXIS2_CALL
00054     axiom_output_create(
00055         const axutil_env_t * env,
00056         axiom_xml_writer_t * xml_writer);
00057 
00067     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00068     axiom_output_write(
00069         axiom_output_t * om_output,
00070         const axutil_env_t * env,
00071         axiom_types_t type,
00072         int no_of_args,
00073         ...);
00074 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axiom_output_write_optimized(
00077         axiom_output_t * om_output,
00078         const axutil_env_t * env,
00079         struct axiom_text *om_text);
00080 
00088     AXIS2_EXTERN void AXIS2_CALL
00089     axiom_output_free(
00090         axiom_output_t * om_output,
00091         const axutil_env_t * env);
00092 
00099     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00100     axiom_output_is_soap11(
00101         axiom_output_t * om_output,
00102         const axutil_env_t * env);
00103 
00107     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00108 
00109     axiom_output_is_ignore_xml_declaration(
00110         axiom_output_t * om_output,
00111         const axutil_env_t * env);
00112 
00116     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117 
00118     axiom_output_set_ignore_xml_declaration(
00119         axiom_output_t * om_output,
00120         const axutil_env_t * env,
00121         axis2_bool_t ignore_xml_dec);
00122 
00126     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127     axiom_output_set_soap11(
00128         axiom_output_t * om_output,
00129         const axutil_env_t * env,
00130         axis2_bool_t soap11);
00131 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136     axiom_output_set_xml_version(
00137         axiom_output_t * om_output,
00138         const axutil_env_t * env,
00139         axis2_char_t * xml_version);
00140 
00144     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00145     axiom_output_get_xml_version(
00146         axiom_output_t * om_output,
00147         const axutil_env_t * env);
00148 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153 
00154     axiom_output_set_char_set_encoding(
00155         axiom_output_t * om_output,
00156         const axutil_env_t * env,
00157         axis2_char_t * char_set_encoding);
00158 
00162     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00163     axiom_output_get_char_set_encoding(
00164         axiom_output_t * om_output,
00165         const axutil_env_t * env);
00166 
00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171     axiom_output_set_do_optimize(
00172         axiom_output_t * om_output,
00173         const axutil_env_t * env,
00174         axis2_bool_t optimize);
00175 
00179     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00180     axiom_output_get_xml_writer(
00181         axiom_output_t * om_output,
00182         const axutil_env_t * env);
00183 
00191     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00192 
00193     axiom_output_get_content_type(
00194         axiom_output_t * om_output,
00195         const axutil_env_t * env);
00196 
00200     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00201 
00202     axiom_output_write_xml_version_encoding(
00203         axiom_output_t * om_output,
00204         const axutil_env_t * env);
00205 
00209     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00210     axiom_output_is_optimized(
00211         axiom_output_t * om_output,
00212         const axutil_env_t * env);
00213 
00217     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00218     axiom_output_get_next_content_id(
00219         axiom_output_t * om_output,
00220         const axutil_env_t * env);
00221 
00225     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00226     axiom_output_get_root_content_id(
00227         axiom_output_t * om_output,
00228         const axutil_env_t * env);
00229 
00230     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00231     axiom_output_get_mime_boundry(
00232         axiom_output_t * om_output,
00233         const axutil_env_t * env);
00234 
00235     AXIS2_EXTERN axis2_byte_t *AXIS2_CALL
00236     axiom_output_flush(
00237         axiom_output_t * om_output,
00238         const axutil_env_t * env,
00239         axis2_byte_t ** output_stream,
00240         int *output_stream_size);
00241 
00244 #ifdef __cplusplus
00245 }
00246 #endif
00247 
00248 #endif                          /* AXIOM_OUTPUT_H */

Generated on Wed Feb 27 19:43:03 2008 for Axis2/C by  doxygen 1.5.5