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)
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                          /* AXIOM_MIME_PARSER_H */

Generated on Fri Jul 11 11:56:35 2008 for Axis2/C by  doxygen 1.5.5