# 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 */