00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_MIME_PARSER_H
00020 #define AXIOM_MIME_PARSER_H
00021
00027 #include <axutil_utils.h>
00028 #include <axutil_error.h>
00029 #include <axutil_utils_defines.h>
00030 #include <axutil_env.h>
00031 #include <axutil_allocator.h>
00032 #include <axutil_string.h>
00033 #include <axutil_hash.h>
00034 #include <axiom_mime_const.h>
00035
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040
00041 #define AXIOM_MIME_PARSER_BUFFER_SIZE (1024 * 1024)
00042 #define AXIOM_MIME_PARSER_MAX_CHUNK_BUFFERS 1000
00043
00044 #define AXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNT 100
00045
00046
00047 typedef struct axiom_mime_parser axiom_mime_parser_t;
00048
00062 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00063 axiom_mime_parser_parse(
00064 axiom_mime_parser_t * mime_parser,
00065 const axutil_env_t * env,
00066 AXIS2_READ_INPUT_CALLBACK,
00067 void *callback_ctx,
00068 axis2_char_t * mime_boundary);
00069
00076 AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00077 axiom_mime_parser_get_mime_parts_map(
00078 axiom_mime_parser_t * mime_parser,
00079 const axutil_env_t * env);
00080
00087 AXIS2_EXTERN void AXIS2_CALL
00088 axiom_mime_parser_free(
00089 axiom_mime_parser_t * mime_parser,
00090 const axutil_env_t * env);
00091
00098 AXIS2_EXTERN int AXIS2_CALL
00099 axiom_mime_parser_get_soap_body_len(
00100 axiom_mime_parser_t * mime_parser,
00101 const axutil_env_t * env);
00102
00109 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00110 axiom_mime_parser_get_soap_body_str(
00111 axiom_mime_parser_t * mime_parser,
00112 const axutil_env_t * env);
00113
00119 AXIS2_EXTERN axiom_mime_parser_t *AXIS2_CALL
00120 axiom_mime_parser_create(
00121 const axutil_env_t * env);
00122
00130 AXIS2_EXTERN void AXIS2_CALL
00131 axiom_mime_parser_set_chunk_buffer_size(
00132 axiom_mime_parser_t * mime_parser,
00133 const axutil_env_t * env,
00134 int size);
00135
00143 AXIS2_EXTERN void AXIS2_CALL
00144 axiom_mime_parser_set_max_chunk_buffers(
00145 axiom_mime_parser_t * mime_parser,
00146 const axutil_env_t * env,
00147 int num);
00148
00149
00150
00153 #ifdef __cplusplus
00154 }
00155 #endif
00156 #endif