axis2_out_transport_info.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 AXIS2_OUT_TRANSPORT_INFO_H
00020 #define AXIS2_OUT_TRANSPORT_INFO_H
00021 
00034 #include <axis2_const.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_out_transport_info axis2_out_transport_info_t;
00045 
00046     typedef struct axis2_out_transport_info_ops axis2_out_transport_info_ops_t;
00047 
00048     struct axis2_out_transport_info_ops
00049     {
00050         axis2_status_t(
00051             AXIS2_CALL
00052             * set_content_type)(
00053                 axis2_out_transport_info_t * info,
00054                 const axutil_env_t * env,
00055                 const axis2_char_t * content_type);
00056 
00057         axis2_status_t(
00058             AXIS2_CALL
00059             * set_char_encoding)(
00060                 axis2_out_transport_info_t * info,
00061                 const axutil_env_t * env,
00062                 const axis2_char_t * encoding);
00063 
00064         void(
00065             AXIS2_CALL
00066             * free)(
00067                 axis2_out_transport_info_t * info,
00068                 const axutil_env_t * env);
00069     };
00070 
00071     struct axis2_out_transport_info
00072     {
00073         const axis2_out_transport_info_ops_t *ops;
00074     };
00075 
00077 #define AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00078                env, content_type) ((out_transport_info->ops)->set_content_type(out_transport_info, env, content_type))
00079 
00081 #define AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, \
00082                env, encoding) ((out_transport_info->ops)->set_char_encoding(out_transport_info, env, encoding))
00083 
00085 #define AXIS2_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00086                     ((out_transport_info->ops)->free(out_transport_info, env))
00087 
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092 #endif                          /* AXIS2_OUT_TRANSPORT_INFO_H */

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