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
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