axiom_mime_parser.h

Go to the documentation of this file.
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_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/2)
00042 #define AXIOM_MIME_PARSER_MAX_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 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     axiom_mime_parser_parse_for_soap(
00072         axiom_mime_parser_t * mime_parser,
00073         const axutil_env_t * env,
00074         AXIS2_READ_INPUT_CALLBACK callback,
00075         void *callback_ctx,
00076         axis2_char_t * mime_boundary);
00077 
00078 
00079     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00080     axiom_mime_parser_parse_for_attachments(
00081         axiom_mime_parser_t * mime_parser,
00082         const axutil_env_t * env,
00083         AXIS2_READ_INPUT_CALLBACK callback,
00084         void *callback_ctx,
00085         axis2_char_t * mime_boundary,
00086         void *user_param);
00087 
00088 
00095     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00096     axiom_mime_parser_get_mime_parts_map(
00097         axiom_mime_parser_t * mime_parser,
00098         const axutil_env_t * env);
00099 
00106     AXIS2_EXTERN void AXIS2_CALL
00107     axiom_mime_parser_free(
00108         axiom_mime_parser_t * mime_parser,
00109         const axutil_env_t * env);
00110 
00117     AXIS2_EXTERN int AXIS2_CALL
00118     axiom_mime_parser_get_soap_body_len(
00119         axiom_mime_parser_t * mime_parser,
00120         const axutil_env_t * env);
00121 
00128     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00129     axiom_mime_parser_get_soap_body_str(
00130         axiom_mime_parser_t * mime_parser,
00131         const axutil_env_t * env);
00132 
00138     AXIS2_EXTERN axiom_mime_parser_t *AXIS2_CALL
00139     axiom_mime_parser_create(
00140         const axutil_env_t * env);
00141 
00149     AXIS2_EXTERN void AXIS2_CALL
00150     axiom_mime_parser_set_buffer_size(
00151         axiom_mime_parser_t * mime_parser,
00152         const axutil_env_t * env,
00153         int size);
00154 
00162     AXIS2_EXTERN void AXIS2_CALL
00163     axiom_mime_parser_set_max_buffers(
00164         axiom_mime_parser_t * mime_parser,
00165         const axutil_env_t * env,
00166         int num);
00167 
00168     
00177     AXIS2_EXTERN void AXIS2_CALL
00178     axiom_mime_parser_set_attachment_dir(
00179         axiom_mime_parser_t *mime_parser,
00180         const axutil_env_t *env,
00181         axis2_char_t *attachment_dir);
00182 
00183 
00193     AXIS2_EXTERN void AXIS2_CALL
00194     axiom_mime_parser_set_caching_callback_name(
00195         axiom_mime_parser_t *mime_parser,
00196         const axutil_env_t *env,
00197         axis2_char_t *callback_name);
00198 
00199 
00200     AXIS2_EXTERN void AXIS2_CALL
00201     axiom_mime_parser_set_mime_boundary(
00202         axiom_mime_parser_t *mime_parser,
00203         const axutil_env_t *env,
00204         axis2_char_t *mime_boundary);
00205 
00206 
00207     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00208     axiom_mime_parser_get_mime_boundary(
00209         axiom_mime_parser_t *mime_parser,
00210         const axutil_env_t *env);
00211 
00212 
00213 
00214 
00217 #ifdef __cplusplus
00218 }
00219 #endif
00220 #endif                          /* AXIOM_MIME_PARSER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3