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
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axis2_env.h>
00035 #include <axis2_http_simple_response.h>
00036
00037
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042
00044 typedef struct axis2_http_out_transport_info_ops axis2_http_out_transport_info_ops_t;
00046 typedef struct axis2_http_out_transport_info axis2_http_out_transport_info_t;
00047
00048
00053 struct axis2_http_out_transport_info_ops
00054 {
00060 int (AXIS2_CALL *
00061 set_content_type)(
00062 axis2_http_out_transport_info_t *info,
00063 const axis2_env_t *env,
00064 const axis2_char_t *content_type);
00065
00072 axis2_status_t (AXIS2_CALL *
00073 set_char_encoding)(
00074 axis2_http_out_transport_info_t *info,
00075 const axis2_env_t *env,
00076 const axis2_char_t *encoding);
00077
00083 axis2_status_t (AXIS2_CALL *
00084 free)(
00085 axis2_http_out_transport_info_t *out_transport_info,
00086 const axis2_env_t *env);
00087 };
00088
00092 struct axis2_http_out_transport_info
00093 {
00095 axis2_http_out_transport_info_ops_t *ops;
00096 };
00097
00098
00103 AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL
00104 axis2_http_out_transport_info_create(
00105 const axis2_env_t *env,
00106 axis2_http_simple_response_t *response);
00107
00115 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116 axis2_http_out_transport_info_free_void_arg(
00117 void *transport_info,
00118 const axis2_env_t *env);
00119
00120
00121
00124 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00125 env, content_type) ((out_transport_info)->ops->\
00126 set_content_type (out_transport_info, env, content_type))
00127
00130 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
00131 env, encoding) ((out_transport_info)->ops->set_char_encoding \
00132 (out_transport_info, env, encoding))
00133
00136 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00137 ((out_transport_info)->ops->free(out_transport_info, env))
00138
00139
00140
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145 #endif