00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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