axis2_http_out_transport_info.h

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

Generated on Wed Dec 20 20:34:49 2006 for Axis2/C by  doxygen 1.5.1