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 
00052     AXIS2_EXTERN axiom_output_t *AXIS2_CALL
00053     axiom_output_create(
00054         const axutil_env_t * env,
00055         axiom_xml_writer_t * xml_writer);
00056 
00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067     axiom_output_write(
00068         axiom_output_t * om_output,
00069         const axutil_env_t * env,
00070         axiom_types_t type,
00071         int no_of_args,
00072         ...);
00073 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     axiom_output_write_optimized(
00076         axiom_output_t * om_output,
00077         const axutil_env_t * env,
00078         struct axiom_text *om_text);
00079 
00087     AXIS2_EXTERN void AXIS2_CALL
00088     axiom_output_free(
00089         axiom_output_t * om_output,
00090         const axutil_env_t * env);
00091 
00098     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00099     axiom_output_is_soap11(
00100         axiom_output_t * om_output,
00101         const axutil_env_t * env);
00102 
00106     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00107 
00108     axiom_output_is_ignore_xml_declaration(
00109         axiom_output_t * om_output,
00110         const axutil_env_t * env);
00111 
00115     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116 
00117     axiom_output_set_ignore_xml_declaration(
00118         axiom_output_t * om_output,
00119         const axutil_env_t * env,
00120         axis2_bool_t ignore_xml_dec);
00121 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126     axiom_output_set_soap11(
00127         axiom_output_t * om_output,
00128         const axutil_env_t * env,
00129         axis2_bool_t soap11);
00130 
00134     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135     axiom_output_set_xml_version(
00136         axiom_output_t * om_output,
00137         const axutil_env_t * env,
00138         axis2_char_t * xml_version);
00139 
00143     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00144     axiom_output_get_xml_version(
00145         axiom_output_t * om_output,
00146         const axutil_env_t * env);
00147 
00151     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00152 
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 
00192     axiom_output_get_content_type(
00193         axiom_output_t * om_output,
00194         const axutil_env_t * env);
00195 
00199     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00200 
00201     axiom_output_write_xml_version_encoding(
00202         axiom_output_t * om_output,
00203         const axutil_env_t * env);
00204 
00208     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00209     axiom_output_is_optimized(
00210         axiom_output_t * om_output,
00211         const axutil_env_t * env);
00212 
00216     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00217     axiom_output_get_next_content_id(
00218         axiom_output_t * om_output,
00219         const axutil_env_t * env);
00220 
00224     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00225     axiom_output_get_root_content_id(
00226         axiom_output_t * om_output,
00227         const axutil_env_t * env);
00228 
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);
00233 
00234     AXIS2_EXTERN axis2_byte_t *AXIS2_CALL
00235     axiom_output_flush(
00236         axiom_output_t * om_output,
00237         const axutil_env_t * env,
00238         axis2_byte_t ** output_stream,
00239         int *output_stream_size);
00240 
00243 #ifdef __cplusplus
00244 }
00245 #endif
00246 
00247 #endif                          /* AXIOM_OUTPUT_H */

Generated on Wed Jan 2 17:42:50 2008 for Axis2/C by  doxygen 1.5.1