axis2_http_out_transport_info.h

Go to the documentation of this file.
00001 /*
00002 * Copyright 2004,2005 The Apache Software Foundation.
00003 *
00004 * Licensed under the Apache License, Version 2.0 (the "License");
00005 * you may not use this file except in compliance with the License.
00006 * You may obtain a copy of the License at
00007 *
00008 *      http://www.apache.org/licenses/LICENSE-2.0
00009 *
00010 * Unless required by applicable law or agreed to in writing, software
00011 * distributed under the License is distributed on an "AS IS" BASIS,
00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013 * See the License for the specific language governing permissions and
00014 * limitations under the License.
00015 */
00016 
00017 #ifndef AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00018 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00019 
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axis2_env.h>
00035 #include <axis2_http_simple_response.h>
00036 
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_http_out_transport_info_ops axis2_http_out_transport_info_ops_t;
00046     typedef struct axis2_http_out_transport_info axis2_http_out_transport_info_t;
00047 
00048 
00053     struct axis2_http_out_transport_info_ops
00054     {
00060         int (AXIS2_CALL *
00061                 set_content_type)(
00062                     axis2_http_out_transport_info_t *info,
00063                     const axis2_env_t *env,
00064                     const axis2_char_t *content_type);
00065 
00072         axis2_status_t (AXIS2_CALL *
00073                 set_char_encoding)(
00074                     axis2_http_out_transport_info_t *info,
00075                     const axis2_env_t *env,
00076                     const axis2_char_t *encoding);
00077 
00083         axis2_status_t (AXIS2_CALL *
00084                 free)(
00085                     axis2_http_out_transport_info_t *out_transport_info,
00086                     const axis2_env_t *env);
00087     };
00088 
00092     struct axis2_http_out_transport_info
00093     {
00095         axis2_http_out_transport_info_ops_t *ops;
00096     };
00097 
00098 
00103     AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL
00104     axis2_http_out_transport_info_create(
00105         const axis2_env_t *env,
00106         axis2_http_simple_response_t *response);
00107 
00115     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116     axis2_http_out_transport_info_free_void_arg(
00117         void *transport_info,
00118         const axis2_env_t *env);
00119 
00120 /************************* Start of function macros    ***************************/
00121 
00124 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00125                env, content_type) ((out_transport_info)->ops->\
00126                set_content_type (out_transport_info, env, content_type))
00127 
00130 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
00131                env, encoding) ((out_transport_info)->ops->set_char_encoding \
00132                (out_transport_info, env, encoding))
00133 
00136 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00137                     ((out_transport_info)->ops->free(out_transport_info, env))
00138 
00139 /************************* End of function macros *****************************/
00140 
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145 #endif /* AXIS2_HTTP_OUT_TRANSPORT_INFO_H */

Generated on Thu Oct 26 21:11:23 2006 for Axis2/C by  doxygen 1.4.7