00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_MIME_PART_H
00019 #define AXIOM_MIME_PART_H
00020
00026 #include <axutil_utils.h>
00027 #include <axutil_error.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_env.h>
00030 #include <axutil_allocator.h>
00031 #include <axutil_string.h>
00032 #include <axutil_array_list.h>
00033
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039 typedef struct axiom_mime_part_t axiom_mime_part_t;
00040
00041
00042
00043
00044 typedef enum axiom_mime_part_type_t
00045 {
00046
00048 AXIOM_MIME_PART_BUFFER = 0,
00049
00050
00051 AXIOM_MIME_PART_FILE,
00052
00053
00054 AXIOM_MIME_PART_CALLBACK,
00055
00056
00057 AXIOM_MIME_PART_UNKNOWN
00058
00059 } axiom_mime_part_type_t;
00060
00061 struct axiom_mime_part_t
00062 {
00063
00064
00065 axis2_byte_t *part;
00066
00067
00068
00069 axis2_char_t *file_name;
00070
00071
00072
00073
00074 int part_size;
00075
00076
00077 axiom_mime_part_type_t type;
00078
00079
00080 void *user_param;
00081 };
00082
00083
00084
00085
00086 AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00087 axiom_mime_part_get_content_type_for_mime(
00088 const axutil_env_t * env,
00089 axis2_char_t * boundary,
00090 axis2_char_t * content_id,
00091 axis2_char_t * char_set_encoding,
00092 const axis2_char_t * soap_content_type);
00093
00094
00100 AXIS2_EXTERN axiom_mime_part_t *AXIS2_CALL
00101 axiom_mime_part_create(
00102 const axutil_env_t *env);
00103
00104
00105
00106
00107 AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00108 axiom_mime_part_create_part_list(
00109 const axutil_env_t *env,
00110 axis2_char_t *soap_body,
00111 axutil_array_list_t *binary_node_list,
00112 axis2_char_t *boundary,
00113 axis2_char_t *content_id,
00114 axis2_char_t *char_set_encoding,
00115 const axis2_char_t *soap_content_type);
00116
00117
00118 AXIS2_EXTERN void AXIS2_CALL
00119 axiom_mime_part_free(
00120 axiom_mime_part_t *mime_part,
00121 const axutil_env_t *env);
00122
00123
00124
00125
00128 #ifdef __cplusplus
00129 }
00130 #endif
00131 #endif