# axis2_http_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_HTTP_OUT_TRANSPORT_INFO_H
    00020 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_H
    00021
    00034 #include <axis2_const.h>
    00035 #include <axis2_defines.h>
    00036 #include <axutil_env.h>
    00037 #include <axis2_http_simple_response.h>
    00038 #include <axis2_out_transport_info.h>
    00039
    00040 #ifdef __cplusplus
    00041 extern "C"
    00042 {
    00043 #endif
    00044
    00046     typedef struct axis2_http_out_transport_info
    00047                 axis2_http_out_transport_info_t;
    00048
    00049     struct axis2_http_out_transport_info
    00050     {
    00051         axis2_out_transport_info_t out_transport;
    00052         axis2_http_simple_response_t *response;
    00053         axis2_char_t *encoding;
    00054
    00055         axis2_status_t(
    00056             AXIS2_CALL
    00057             * set_content_type)(
    00058                 axis2_http_out_transport_info_t * info,
    00059                 const axutil_env_t * env,
    00060                 const axis2_char_t * content_type);
    00061
    00062         axis2_status_t(
    00063             AXIS2_CALL
    00064             * set_char_encoding)(
    00065                 axis2_http_out_transport_info_t * info,
    00066                 const axutil_env_t * env,
    00067                 const axis2_char_t * encoding);
    00068
    00069         void(
    00070             AXIS2_CALL
    00071             * free_function)(
    00072                 axis2_http_out_transport_info_t * info,
    00073                 const axutil_env_t * env);
    00074     };
    00075
    00081     AXIS2_EXTERN int AXIS2_CALL
    00082
    00083     axis2_http_out_transport_info_set_content_type(
    00084         axis2_http_out_transport_info_t * info,
    00085         const axutil_env_t * env,
    00086         const axis2_char_t * content_type);
    00087
    00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
    00095
    00096     axis2_http_out_transport_info_set_char_encoding(
    00097         axis2_http_out_transport_info_t * info,
    00098         const axutil_env_t * env,
    00099         const axis2_char_t * encoding);
    00100
    00106     AXIS2_EXTERN void AXIS2_CALL
    00107     axis2_http_out_transport_info_free(
    00108         axis2_http_out_transport_info_t * out_transport_info,
    00109         const axutil_env_t * env);
    00110
    00115     AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL
    00116
    00117     axis2_http_out_transport_info_create(
    00118         const axutil_env_t * env,
    00119         axis2_http_simple_response_t * response);
    00120
    00128     AXIS2_EXTERN void AXIS2_CALL
    00129     axis2_http_out_transport_info_free_void_arg(
    00130         void *transport_info,
    00131         const axutil_env_t * env);
    00132
    00133     AXIS2_EXTERN void AXIS2_CALL
    00134
    00135     axis2_http_out_transport_info_set_char_encoding_func(
    00136         axis2_http_out_transport_info_t * out_transport_info,
    00137         const axutil_env_t * env,
    00138         axis2_status_t(AXIS2_CALL
    00139                 * set_encoding)
    00140         (axis2_http_out_transport_info_t *,
    00141                 const axutil_env_t *,
    00142                 const axis2_char_t *));
    00143
    00144     AXIS2_EXTERN void AXIS2_CALL
    00145
    00146     axis2_http_out_transport_info_set_content_type_func(
    00147         axis2_http_out_transport_info_t * out_transport_info,
    00148         const axutil_env_t * env,
    00149         axis2_status_t(AXIS2_CALL
    00150                 *
    00151                 set_content_type)(axis2_http_out_transport_info_t *,
    00152                         const axutil_env_t *,
    00153                         const axis2_char_t *));
    00154
    00155     AXIS2_EXTERN void AXIS2_CALL
    00156     axis2_http_out_transport_info_set_free_func(
    00157         axis2_http_out_transport_info_t * out_transport_info,
    00158         const axutil_env_t * env,
    00159         void(AXIS2_CALL
    00160                 * free_function)(axis2_http_out_transport_info_t *,
    00161                         const axutil_env_t *));
    00162
    00164 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
    00165                env, content_type) axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type)
    00166
    00168 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
    00169                env, encoding) axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding)
    00170
    00172 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
    00173                     axis2_http_out_transport_info_free(out_transport_info, env)
    00174
    00176 #ifdef __cplusplus
    00177 }
    00178 #endif
    00179 #endif                          /* AXIS2_HTTP_OUT_TRANSPORT_INFO_H */