# 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 #include <axutil_array_list.h>
    00028
    00029 #ifdef __cplusplus
    00030 extern "C"
    00031 {
    00032 #endif
    00033
    00044     typedef struct axiom_output axiom_output_t;
    00045     struct axiom_text;
    00046
    00054     AXIS2_EXTERN axiom_output_t *AXIS2_CALL
    00055     axiom_output_create(
    00056         const axutil_env_t * env,
    00057         axiom_xml_writer_t * xml_writer);
    00058
    00068     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00069     axiom_output_write(
    00070         axiom_output_t * om_output,
    00071         const axutil_env_t * env,
    00072         axiom_types_t type,
    00073         int no_of_args,
    00074         ...);
    00075
    00076     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00077     axiom_output_write_optimized(
    00078         axiom_output_t * om_output,
    00079         const axutil_env_t * env,
    00080         struct axiom_text *om_text);
    00081
    00089     AXIS2_EXTERN void AXIS2_CALL
    00090     axiom_output_free(
    00091         axiom_output_t * om_output,
    00092         const axutil_env_t * env);
    00093
    00100     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00101     axiom_output_is_soap11(
    00102         axiom_output_t * om_output,
    00103         const axutil_env_t * env);
    00104
    00108     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00109
    00110     axiom_output_is_ignore_xml_declaration(
    00111         axiom_output_t * om_output,
    00112         const axutil_env_t * env);
    00113
    00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00118
    00119     axiom_output_set_ignore_xml_declaration(
    00120         axiom_output_t * om_output,
    00121         const axutil_env_t * env,
    00122         axis2_bool_t ignore_xml_dec);
    00123
    00127     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00128     axiom_output_set_soap11(
    00129         axiom_output_t * om_output,
    00130         const axutil_env_t * env,
    00131         axis2_bool_t soap11);
    00132
    00136     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00137     axiom_output_set_xml_version(
    00138         axiom_output_t * om_output,
    00139         const axutil_env_t * env,
    00140         axis2_char_t * xml_version);
    00141
    00145     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00146     axiom_output_get_xml_version(
    00147         axiom_output_t * om_output,
    00148         const axutil_env_t * env);
    00149
    00153     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    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     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     axiom_output_write_xml_version_encoding(
    00201         axiom_output_t * om_output,
    00202         const axutil_env_t * env);
    00203
    00207     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
    00208     axiom_output_is_optimized(
    00209         axiom_output_t * om_output,
    00210         const axutil_env_t * env);
    00211
    00215     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00216     axiom_output_get_next_content_id(
    00217         axiom_output_t * om_output,
    00218         const axutil_env_t * env);
    00219
    00223     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
    00224     axiom_output_get_root_content_id(
    00225         axiom_output_t * om_output,
    00226         const axutil_env_t * env);
    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);
    00237     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00238         axiom_output_flush(
    00239         axiom_output_t * om_output,
    00240         const axutil_env_t * env);
    00241
    00242     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
    00243     axiom_output_get_mime_parts(
    00244         axiom_output_t * om_output,
    00245         const axutil_env_t * env);
    00246
    00247
    00250 #ifdef __cplusplus
    00251 }
    00252 #endif
    00253
    00254 #endif                          /* AXIOM_OUTPUT_H */