00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_TRANSPORT_IN_DESC_H
00018 #define AXIS2_TRANSPORT_IN_DESC_H
00019
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
00046 #include <axis2_phase_meta.h>
00047 #include <axis2_phase.h>
00048 #include <axis2_flow.h>
00049
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054
00056 typedef struct axis2_transport_in_desc axis2_transport_in_desc_t;
00058 typedef struct axis2_transport_in_desc_ops axis2_transport_in_desc_ops_t;
00059
00060 struct axis2_phase;
00061 struct axis2_transport_receiver;
00062
00067 struct axis2_transport_in_desc_ops
00068 {
00075 axis2_status_t (AXIS2_CALL *
00076 free)(
00077 axis2_transport_in_desc_t *transport_in_desc,
00078 const axis2_env_t *env);
00079
00087 axis2_status_t (AXIS2_CALL *
00088 free_void_arg) (
00089 void *transport_in,
00090 const axis2_env_t *env);
00091
00098 const axis2_qname_t *(AXIS2_CALL *
00099 get_qname)(
00100 const axis2_transport_in_desc_t *transport_in,
00101 const axis2_env_t *env);
00102
00110 axis2_status_t (AXIS2_CALL *
00111 set_qname)(
00112 struct axis2_transport_in_desc *transport_in,
00113 const axis2_env_t *env,
00114 const axis2_qname_t *qname);
00115
00124 struct axis2_flow *(AXIS2_CALL *
00125 get_in_flow)(
00126 const axis2_transport_in_desc_t *transport_in,
00127 const axis2_env_t *env);
00128
00138 axis2_status_t (AXIS2_CALL *
00139 set_in_flow)(
00140 struct axis2_transport_in_desc *transport_in,
00141 const axis2_env_t *env,
00142 struct axis2_flow *in_flow);
00143
00152 struct axis2_flow *(AXIS2_CALL *
00153 get_fault_in_flow)(
00154 const axis2_transport_in_desc_t *transport_in,
00155 const axis2_env_t *env);
00156
00166 axis2_status_t (AXIS2_CALL *
00167 set_fault_in_flow)(
00168 struct axis2_transport_in_desc *transport_in,
00169 const axis2_env_t *env,
00170 struct axis2_flow *fault_in_flow);
00171
00179 struct axis2_transport_receiver *(AXIS2_CALL *
00180 get_recv)(
00181 const axis2_transport_in_desc_t *transport_in,
00182 const axis2_env_t *env);
00183
00192 axis2_status_t (AXIS2_CALL *
00193 set_recv)(
00194 struct axis2_transport_in_desc *transport_in,
00195 const axis2_env_t *env,
00196 struct axis2_transport_receiver *recv);
00197
00204 struct axis2_phase *(AXIS2_CALL *
00205 get_in_phase)(
00206 const axis2_transport_in_desc_t *transport_in,
00207 const axis2_env_t *env);
00208
00217 axis2_status_t (AXIS2_CALL *
00218 set_in_phase)(
00219 struct axis2_transport_in_desc *transport_in,
00220 const axis2_env_t *env,
00221 struct axis2_phase *in_phase);
00222
00229 struct axis2_phase *(AXIS2_CALL *
00230 get_fault_phase)(
00231 const axis2_transport_in_desc_t *transport_in,
00232 const axis2_env_t *env);
00233
00241 axis2_status_t (AXIS2_CALL *
00242 set_fault_phase)(
00243 struct axis2_transport_in_desc *transport_in,
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_in_desc_t *transport_in_desc,
00258 const axis2_env_t *env,
00259 axis2_param_t *param);
00260
00269 axis2_param_t *(AXIS2_CALL *
00270 get_param)(
00271 const axis2_transport_in_desc_t *transport_in_desc,
00272 const axis2_env_t *env,
00273 const axis2_char_t *param_name);
00274
00282 axis2_bool_t (AXIS2_CALL *
00283 is_param_locked)(
00284 axis2_transport_in_desc_t *transport_in_desc,
00285 const axis2_env_t *env,
00286 const axis2_char_t *param_name);
00287 };
00288
00292 struct axis2_transport_in_desc
00293 {
00295 axis2_transport_in_desc_ops_t *ops;
00297 axis2_param_container_t *param_container;
00298 };
00299
00306 AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL
00307 axis2_transport_in_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_in_desc_free_void_arg(
00320 void *transport_in,
00321 const axis2_env_t *env);
00322
00325 #define AXIS2_TRANSPORT_IN_DESC_FREE(transport_in_desc, env) \
00326 ((transport_in_desc)->ops->free (transport_in_desc, env))
00327
00330 #define AXIS2_TRANSPORT_IN_DESC_GET_QNAME(transport_in_desc, env) \
00331 ((transport_in_desc)->ops->get_qname (transport_in_desc, env))
00332
00335 #define AXIS2_TRANSPORT_IN_DESC_SET_QNAME(transport_in_desc, env, qname) \
00336 ((transport_in_desc)->ops->set_qname (transport_in_desc, env, qname))
00337
00340 #define AXIS2_TRANSPORT_IN_DESC_GET_IN_FLOW(transport_in_desc, env) \
00341 ((transport_in_desc)->ops->get_in_flow (transport_in_desc, env))
00342
00345 #define AXIS2_TRANSPORT_IN_DESC_SET_IN_FLOW(transport_in_desc, env, in_flow) \
00346 ((transport_in_desc)->ops->set_in_flow (transport_in_desc, env, in_flow))
00347
00350 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULT_IN_FLOW(transport_in_desc, env) \
00351 ((transport_in_desc)->ops->get_fault_in_flow (transport_in_desc, env))
00352
00355 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULT_IN_FLOW(transport_in_desc, env, fault_in_flow) \
00356 ((transport_in_desc)->ops->set_fault_in_flow (transport_in_desc, env, fault_in_flow))
00357
00360 #define AXIS2_TRANSPORT_IN_DESC_GET_RECV(transport_in_desc, env) \
00361 ((transport_in_desc)->ops->get_recv (transport_in_desc, env))
00362
00365 #define AXIS2_TRANSPORT_IN_DESC_SET_RECV(transport_in_desc, env, recv) \
00366 ((transport_in_desc)->ops->set_recv (transport_in_desc, env, recv))
00367
00370 #define AXIS2_TRANSPORT_IN_DESC_GET_IN_PHASE(transport_in_desc, env) \
00371 ((transport_in_desc)->ops->get_in_phase (transport_in_desc, env))
00372
00375 #define AXIS2_TRANSPORT_IN_DESC_SET_IN_PHASE(transport_in_desc, env, in_phase) \
00376 ((transport_in_desc)->ops->set_in_phase (transport_in_desc, env, in_phase))
00377
00380 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULT_PHASE(transport_in_desc, env) \
00381 ((transport_in_desc)->ops->get_fault_phase (transport_in_desc, env))
00382
00385 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULT_PHASE(transport_in_desc, env, fault_phase) \
00386 ((transport_in_desc)->ops->set_fault_phase (transport_in_desc, env, fault_phase))
00387
00390 #define AXIS2_TRANSPORT_IN_DESC_ADD_PARAM(transport_in_desc, env, param) \
00391 ((transport_in_desc)->ops->add_param (transport_in_desc, env, param))
00392
00395 #define AXIS2_TRANSPORT_IN_DESC_GET_PARAM(transport_in_desc, env, param_name) \
00396 ((transport_in_desc)->ops->get_param (transport_in_desc, env, param_name))
00397
00400 #define AXIS2_TRANSPORT_IN_DESC_IS_PARAM_LOCKED(transport_in_desc, env, param_name) \
00401 ((transport_in_desc)->ops->is_param_locked (transport_in_desc, env, param_name))
00402
00405 #ifdef __cplusplus
00406 }
00407 #endif
00408 #endif