00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_TRANSPORT_OUT_DESC_H
00018 #define AXIS2_TRANSPORT_OUT_DESC_H
00019
00037 #include <axis2_const.h>
00038 #include <axis2_error.h>
00039 #include <axis2_defines.h>
00040 #include <axis2_env.h>
00041 #include <axis2_allocator.h>
00042 #include <axis2_qname.h>
00043 #include <axis2_array_list.h>
00044 #include <axis2_phase_meta.h>
00045 #include <axis2_phase.h>
00046 #include <axis2_flow.h>
00047 #include <axis2_transport_sender.h>
00048
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053
00055 typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00057 typedef struct axis2_transport_out_desc_ops axis2_transport_out_desc_ops_t;
00058
00059 struct axis2_phase;
00060 struct axis2_transport_sender;
00061
00066 struct axis2_transport_out_desc_ops
00067 {
00074 axis2_status_t (AXIS2_CALL *
00075 free)(
00076 axis2_transport_out_desc_t *transport_out_desc,
00077 const axis2_env_t *env);
00078
00086 axis2_status_t (AXIS2_CALL *
00087 free_void_arg)(
00088 void *transport_out,
00089 const axis2_env_t *env);
00090
00097 const axis2_qname_t *(AXIS2_CALL *
00098 get_qname)(
00099 const axis2_transport_out_desc_t *transport_out,
00100 const axis2_env_t *env);
00101
00109 axis2_status_t (AXIS2_CALL *
00110 set_qname)(
00111 struct axis2_transport_out_desc *transport_out,
00112 const axis2_env_t *env,
00113 const axis2_qname_t *qname);
00114
00123 struct axis2_flow *(AXIS2_CALL *
00124 get_out_flow)(
00125 const axis2_transport_out_desc_t *transport_out,
00126 const axis2_env_t *env);
00127
00137 axis2_status_t (AXIS2_CALL *
00138 set_out_flow)(
00139 struct axis2_transport_out_desc *transport_out,
00140 const axis2_env_t *env,
00141 struct axis2_flow *out_flow);
00142
00150 struct axis2_flow *(AXIS2_CALL *
00151 get_fault_out_flow)(
00152 const axis2_transport_out_desc_t *transport_out,
00153 const axis2_env_t *env);
00154
00163 axis2_status_t (AXIS2_CALL *
00164 set_fault_out_flow)(
00165 struct axis2_transport_out_desc *transport_out,
00166 const axis2_env_t *env,
00167 struct axis2_flow *fault_out_flow);
00168
00176 axis2_transport_sender_t *(AXIS2_CALL *
00177 get_sender)(
00178 const axis2_transport_out_desc_t *transport_out,
00179 const axis2_env_t *env);
00180
00189 axis2_status_t (AXIS2_CALL *
00190 set_sender)(
00191 struct axis2_transport_out_desc *transport_out,
00192 const axis2_env_t *env,
00193 axis2_transport_sender_t *sender);
00194
00202 struct axis2_phase * (AXIS2_CALL *
00203 get_out_phase)(
00204 const axis2_transport_out_desc_t *transport_out,
00205 const axis2_env_t *env);
00206
00215 axis2_status_t (AXIS2_CALL *
00216 set_out_phase)(
00217 struct axis2_transport_out_desc *transport_out,
00218 const axis2_env_t *env,
00219 struct axis2_phase *out_phase);
00220
00228 struct axis2_phase *(AXIS2_CALL *
00229 get_fault_phase)(
00230 const axis2_transport_out_desc_t *transport_out,
00231 const axis2_env_t *env);
00232
00241 axis2_status_t (AXIS2_CALL *
00242 set_fault_phase)(
00243 struct axis2_transport_out_desc *transport_out,
00244 const axis2_env_t *env,
00245 struct axis2_phase *fault_phase);
00246
00255 axis2_status_t (AXIS2_CALL *
00256 add_param)(
00257 axis2_transport_out_desc_t *transport_out_desc,
00258 const axis2_env_t *env,
00259 axis2_param_t *param);
00260
00267 axis2_param_t *(AXIS2_CALL *
00268 get_param)(
00269 const axis2_transport_out_desc_t *transport_out_desc,
00270 const axis2_env_t *env,
00271 const axis2_char_t *param_name);
00272
00279 axis2_bool_t (AXIS2_CALL *
00280 is_param_locked)(
00281 axis2_transport_out_desc_t *transport_out_desc,
00282 const axis2_env_t *env,
00283 const axis2_char_t *param_name);
00284
00285 };
00286
00290 struct axis2_transport_out_desc
00291 {
00293 axis2_transport_out_desc_ops_t *ops;
00295 axis2_param_container_t *param_container;
00296 };
00297
00305 AXIS2_EXTERN axis2_transport_out_desc_t * AXIS2_CALL
00306 axis2_transport_out_desc_create_with_qname (
00307 const axis2_env_t *env,
00308 const axis2_qname_t *qname);
00309
00317 axis2_status_t AXIS2_CALL
00318 axis2_transport_out_desc_free_void_arg(
00319 void *transport_out,
00320 const axis2_env_t *env);
00321
00324 #define AXIS2_TRANSPORT_OUT_DESC_FREE(transport_out_desc, env) \
00325 ((transport_out_desc)->ops->free (transport_out_desc, env))
00326
00329 #define AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport_out_desc, env) \
00330 ((transport_out_desc)->ops->get_qname (transport_out_desc, env))
00331
00334 #define AXIS2_TRANSPORT_OUT_DESC_SET_QNAME(transport_out_desc, env, qname) \
00335 ((transport_out_desc)->ops->set_qname (transport_out_desc, env, qname))
00336
00339 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_FLOW(transport_out_desc, env) \
00340 ((transport_out_desc)->ops->get_out_flow (transport_out_desc, env))
00341
00344 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_FLOW(transport_out_desc, env, out_flow) \
00345 ((transport_out_desc)->ops->set_out_flow (transport_out_desc, env, out_flow))
00346
00349 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_OUT_FLOW(transport_out_desc, env) \
00350 ((transport_out_desc)->ops->get_fault_out_flow (transport_out_desc, env))
00351
00354 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_OUT_FLOW(transport_out_desc, env, fault_out_flow) \
00355 ((transport_out_desc)->ops->set_fault_out_flow (transport_out_desc, env, fault_out_flow))
00356
00359 #define AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out_desc, env) \
00360 ((transport_out_desc)->ops->get_sender (transport_out_desc, env))
00361
00364 #define AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out_desc, env, sender) \
00365 ((transport_out_desc)->ops->set_sender (transport_out_desc, env, sender))
00366
00369 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_PHASE(transport_out_desc, env) \
00370 ((transport_out_desc)->ops->get_out_phase (transport_out_desc, env))
00371
00374 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_PHASE(transport_out_desc, env, out_phase) \
00375 ((transport_out_desc)->ops->set_out_phase (transport_out_desc, env, out_phase))
00376
00379 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_PHASE(transport_out_desc, env) \
00380 ((transport_out_desc)->ops->get_fault_phase (transport_out_desc, env))
00381
00384 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_PHASE(transport_out_desc, env, fault_phase) \
00385 ((transport_out_desc)->ops->set_fault_phase (transport_out_desc, env, fault_phase))
00386
00389 #define AXIS2_TRANSPORT_OUT_DESC_ADD_PARAM(transport_out_desc, env, param) \
00390 ((transport_out_desc)->ops->add_param (transport_out_desc, env, param))
00391
00394 #define AXIS2_TRANSPORT_OUT_DESC_GET_PARAM(transport_out_desc, env, param_name) \
00395 ((transport_out_desc)->ops->get_param (transport_out_desc, env, param_name))
00396
00399 #define AXIS2_TRANSPORT_OUT_DESC_IS_PARAM_LOCKED(transport_out_desc, env, param_name) \
00400 ((transport_out_desc)->ops->is_param_locked (transport_out_desc, env, param_name))
00401
00404 #ifdef __cplusplus
00405 }
00406 #endif
00407 #endif