00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_TRANSPORT_OUT_DESC_H
00019 #define AXIS2_TRANSPORT_OUT_DESC_H
00020
00038 #include <axis2_const.h>
00039 #include <axis2_error.h>
00040 #include <axis2_defines.h>
00041 #include <axis2_env.h>
00042 #include <axis2_allocator.h>
00043 #include <axis2_qname.h>
00044 #include <axis2_array_list.h>
00045 #include <axis2_phase_meta.h>
00046 #include <axis2_phase.h>
00047 #include <axis2_flow.h>
00048 #include <axis2_transport_sender.h>
00049
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054
00056 typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00058 typedef struct axis2_transport_out_desc_ops axis2_transport_out_desc_ops_t;
00059
00060 struct axis2_phase;
00061 struct axis2_transport_sender;
00062
00067 struct axis2_transport_out_desc_ops
00068 {
00075 axis2_status_t (AXIS2_CALL *
00076 free)(
00077 axis2_transport_out_desc_t *transport_out_desc,
00078 const axis2_env_t *env);
00079
00087 axis2_status_t (AXIS2_CALL *
00088 free_void_arg)(
00089 void *transport_out,
00090 const axis2_env_t *env);
00091
00098 const axis2_qname_t *(AXIS2_CALL *
00099 get_qname)(
00100 const axis2_transport_out_desc_t *transport_out,
00101 const axis2_env_t *env);
00102
00110 axis2_status_t (AXIS2_CALL *
00111 set_qname)(
00112 struct axis2_transport_out_desc *transport_out,
00113 const axis2_env_t *env,
00114 const axis2_qname_t *qname);
00115
00124 struct axis2_flow *(AXIS2_CALL *
00125 get_out_flow)(
00126 const axis2_transport_out_desc_t *transport_out,
00127 const axis2_env_t *env);
00128
00138 axis2_status_t (AXIS2_CALL *
00139 set_out_flow)(
00140 struct axis2_transport_out_desc *transport_out,
00141 const axis2_env_t *env,
00142 struct axis2_flow *out_flow);
00143
00151 struct axis2_flow *(AXIS2_CALL *
00152 get_fault_out_flow)(
00153 const axis2_transport_out_desc_t *transport_out,
00154 const axis2_env_t *env);
00155
00164 axis2_status_t (AXIS2_CALL *
00165 set_fault_out_flow)(
00166 struct axis2_transport_out_desc *transport_out,
00167 const axis2_env_t *env,
00168 struct axis2_flow *fault_out_flow);
00169
00177 axis2_transport_sender_t *(AXIS2_CALL *
00178 get_sender)(
00179 const axis2_transport_out_desc_t *transport_out,
00180 const axis2_env_t *env);
00181
00190 axis2_status_t (AXIS2_CALL *
00191 set_sender)(
00192 struct axis2_transport_out_desc *transport_out,
00193 const axis2_env_t *env,
00194 axis2_transport_sender_t *sender);
00195
00203 struct axis2_phase * (AXIS2_CALL *
00204 get_out_phase)(
00205 const axis2_transport_out_desc_t *transport_out,
00206 const axis2_env_t *env);
00207
00216 axis2_status_t (AXIS2_CALL *
00217 set_out_phase)(
00218 struct axis2_transport_out_desc *transport_out,
00219 const axis2_env_t *env,
00220 struct axis2_phase *out_phase);
00221
00229 struct axis2_phase *(AXIS2_CALL *
00230 get_fault_phase)(
00231 const axis2_transport_out_desc_t *transport_out,
00232 const axis2_env_t *env);
00233
00242 axis2_status_t (AXIS2_CALL *
00243 set_fault_phase)(
00244 struct axis2_transport_out_desc *transport_out,
00245 const axis2_env_t *env,
00246 struct axis2_phase *fault_phase);
00247
00256 axis2_status_t (AXIS2_CALL *
00257 add_param)(
00258 axis2_transport_out_desc_t *transport_out_desc,
00259 const axis2_env_t *env,
00260 axis2_param_t *param);
00261
00268 axis2_param_t *(AXIS2_CALL *
00269 get_param)(
00270 const axis2_transport_out_desc_t *transport_out_desc,
00271 const axis2_env_t *env,
00272 const axis2_char_t *param_name);
00273
00280 axis2_bool_t (AXIS2_CALL *
00281 is_param_locked)(
00282 axis2_transport_out_desc_t *transport_out_desc,
00283 const axis2_env_t *env,
00284 const axis2_char_t *param_name);
00285
00286 };
00287
00291 struct axis2_transport_out_desc
00292 {
00294 axis2_transport_out_desc_ops_t *ops;
00296 axis2_param_container_t *param_container;
00297 };
00298
00306 AXIS2_EXTERN axis2_transport_out_desc_t * AXIS2_CALL
00307 axis2_transport_out_desc_create_with_qname (
00308 const axis2_env_t *env,
00309 const axis2_qname_t *qname);
00310
00318 axis2_status_t AXIS2_CALL
00319 axis2_transport_out_desc_free_void_arg(
00320 void *transport_out,
00321 const axis2_env_t *env);
00322
00325 #define AXIS2_TRANSPORT_OUT_DESC_FREE(transport_out_desc, env) \
00326 ((transport_out_desc)->ops->free (transport_out_desc, env))
00327
00330 #define AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport_out_desc, env) \
00331 ((transport_out_desc)->ops->get_qname (transport_out_desc, env))
00332
00335 #define AXIS2_TRANSPORT_OUT_DESC_SET_QNAME(transport_out_desc, env, qname) \
00336 ((transport_out_desc)->ops->set_qname (transport_out_desc, env, qname))
00337
00340 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_FLOW(transport_out_desc, env) \
00341 ((transport_out_desc)->ops->get_out_flow (transport_out_desc, env))
00342
00345 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_FLOW(transport_out_desc, env, out_flow) \
00346 ((transport_out_desc)->ops->set_out_flow (transport_out_desc, env, out_flow))
00347
00350 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_OUT_FLOW(transport_out_desc, env) \
00351 ((transport_out_desc)->ops->get_fault_out_flow (transport_out_desc, env))
00352
00355 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_OUT_FLOW(transport_out_desc, env, fault_out_flow) \
00356 ((transport_out_desc)->ops->set_fault_out_flow (transport_out_desc, env, fault_out_flow))
00357
00360 #define AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out_desc, env) \
00361 ((transport_out_desc)->ops->get_sender (transport_out_desc, env))
00362
00365 #define AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out_desc, env, sender) \
00366 ((transport_out_desc)->ops->set_sender (transport_out_desc, env, sender))
00367
00370 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_PHASE(transport_out_desc, env) \
00371 ((transport_out_desc)->ops->get_out_phase (transport_out_desc, env))
00372
00375 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_PHASE(transport_out_desc, env, out_phase) \
00376 ((transport_out_desc)->ops->set_out_phase (transport_out_desc, env, out_phase))
00377
00380 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULT_PHASE(transport_out_desc, env) \
00381 ((transport_out_desc)->ops->get_fault_phase (transport_out_desc, env))
00382
00385 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULT_PHASE(transport_out_desc, env, fault_phase) \
00386 ((transport_out_desc)->ops->set_fault_phase (transport_out_desc, env, fault_phase))
00387
00390 #define AXIS2_TRANSPORT_OUT_DESC_ADD_PARAM(transport_out_desc, env, param) \
00391 ((transport_out_desc)->ops->add_param (transport_out_desc, env, param))
00392
00395 #define AXIS2_TRANSPORT_OUT_DESC_GET_PARAM(transport_out_desc, env, param_name) \
00396 ((transport_out_desc)->ops->get_param (transport_out_desc, env, param_name))
00397
00400 #define AXIS2_TRANSPORT_OUT_DESC_IS_PARAM_LOCKED(transport_out_desc, env, param_name) \
00401 ((transport_out_desc)->ops->is_param_locked (transport_out_desc, env, param_name))
00402
00405 #ifdef __cplusplus
00406 }
00407 #endif
00408 #endif