00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00019 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00020
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axis2_env.h>
00036 #include <axis2_http_simple_response.h>
00037
00038
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043
00045 typedef struct axis2_http_out_transport_info_ops axis2_http_out_transport_info_ops_t;
00047 typedef struct axis2_http_out_transport_info axis2_http_out_transport_info_t;
00048
00049
00054 struct axis2_http_out_transport_info_ops
00055 {
00061 int (AXIS2_CALL *
00062 set_content_type)(
00063 axis2_http_out_transport_info_t *info,
00064 const axis2_env_t *env,
00065 const axis2_char_t *content_type);
00066
00073 axis2_status_t (AXIS2_CALL *
00074 set_char_encoding)(
00075 axis2_http_out_transport_info_t *info,
00076 const axis2_env_t *env,
00077 const axis2_char_t *encoding);
00078
00084 axis2_status_t (AXIS2_CALL *
00085 free)(
00086 axis2_http_out_transport_info_t *out_transport_info,
00087 const axis2_env_t *env);
00088 };
00089
00093 struct axis2_http_out_transport_info
00094 {
00096 axis2_http_out_transport_info_ops_t *ops;
00097 };
00098
00099
00104 AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL
00105 axis2_http_out_transport_info_create(
00106 const axis2_env_t *env,
00107 axis2_http_simple_response_t *response);
00108
00116 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117 axis2_http_out_transport_info_free_void_arg(
00118 void *transport_info,
00119 const axis2_env_t *env);
00120
00121
00122
00125 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00126 env, content_type) ((out_transport_info)->ops->\
00127 set_content_type (out_transport_info, env, content_type))
00128
00131 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
00132 env, encoding) ((out_transport_info)->ops->set_char_encoding \
00133 (out_transport_info, env, encoding))
00134
00137 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00138 ((out_transport_info)->ops->free(out_transport_info, env))
00139
00140
00141
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146 #endif