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     axiom_output_set_char_set_encoding(
00154         axiom_output_t * om_output,
00155         const axutil_env_t * env,
00156         axis2_char_t * char_set_encoding);
00157 
00161     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00162     axiom_output_get_char_set_encoding(
00163         axiom_output_t * om_output,
00164         const axutil_env_t * env);
00165 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axiom_output_set_do_optimize(
00171         axiom_output_t * om_output,
00172         const axutil_env_t * env,
00173         axis2_bool_t optimize);
00174 
00178     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00179     axiom_output_get_xml_writer(
00180         axiom_output_t * om_output,
00181         const axutil_env_t * env);
00182 
00190     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00191     axiom_output_get_content_type(
00192         axiom_output_t * om_output,
00193         const axutil_env_t * env);
00194 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199     axiom_output_write_xml_version_encoding(
00200         axiom_output_t * om_output,
00201         const axutil_env_t * env);
00202 
00206     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00207     axiom_output_is_optimized(
00208         axiom_output_t * om_output,
00209         const axutil_env_t * env);
00210 
00214     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00215     axiom_output_get_next_content_id(
00216         axiom_output_t * om_output,
00217         const axutil_env_t * env);
00218 
00222     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00223     axiom_output_get_root_content_id(
00224         axiom_output_t * om_output,
00225         const axutil_env_t * env);
00229     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00230     axiom_output_get_mime_boundry(
00231         axiom_output_t * om_output,
00232         const axutil_env_t * env);
00236     AXIS2_EXTERN axis2_byte_t *AXIS2_CALL
00237     axiom_output_flush(
00238         axiom_output_t * om_output,
00239         const axutil_env_t * env,
00240         axis2_byte_t ** output_stream,
00241         int *output_stream_size);
00242 
00245 #ifdef __cplusplus
00246 }
00247 #endif
00248 
00249 #endif                          /* AXIOM_OUTPUT_H */

Generated on Fri Jul 11 11:56:35 2008 for Axis2/C by  doxygen 1.5.5