00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00018 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00019
00025 #include <axis2_const.h>
00026 #include <axis2_defines.h>
00027 #include <axis2_env.h>
00028 #include <axis2_http_simple_response.h>
00029
00030
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035
00040 typedef struct axis2_http_out_transport_info_ops
00041 axis2_http_out_transport_info_ops_t;
00042 typedef struct axis2_http_out_transport_info axis2_http_out_transport_info_t;
00043
00044
00049 AXIS2_DECLARE_DATA struct axis2_http_out_transport_info_ops
00050 {
00051 int (AXIS2_CALL *set_content_type) (axis2_http_out_transport_info_t *info,
00052 const axis2_env_t *env,
00053 const axis2_char_t *content_type);
00054
00055 axis2_status_t (AXIS2_CALL *set_char_encoding)
00056 (axis2_http_out_transport_info_t *info, const axis2_env_t *env,
00057 const axis2_char_t *encoding);
00058
00059 axis2_status_t (AXIS2_CALL *free)
00060 (axis2_http_out_transport_info_t *out_transport_info,
00061 const axis2_env_t *env);
00062 };
00063
00068 AXIS2_DECLARE_DATA struct axis2_http_out_transport_info
00069 {
00070 axis2_http_out_transport_info_ops_t *ops;
00071 };
00072
00073
00074 AXIS2_EXTERN axis2_http_out_transport_info_t * AXIS2_CALL
00075 axis2_http_out_transport_info_create(const axis2_env_t *env,
00076 axis2_http_simple_response_t *response);
00077
00083 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084 axis2_http_out_transport_info_free_void_arg (void *transport_info,
00085 const axis2_env_t *env);
00086
00087
00088
00089 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00090 env, content_type) ((out_transport_info)->ops->\
00091 set_content_type (out_transport_info, env, content_type))
00092 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
00093 env, encoding) ((out_transport_info)->ops->set_char_encoding \
00094 (out_transport_info, env, encoding))
00095 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00096 ((out_transport_info)->ops->free(out_transport_info, env))
00097
00098
00099
00101 #ifdef __cplusplus
00102 }
00103 #endif
00104 #endif