00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIS2_TRANSPORT_IN_DESC_H
00019 #define AXIS2_TRANSPORT_IN_DESC_H
00020
00039 #include <axis2_const.h>
00040 #include <axis2_error.h>
00041 #include <axis2_defines.h>
00042 #include <axis2_env.h>
00043 #include <axis2_allocator.h>
00044 #include <axis2_qname.h>
00045 #include <axis2_array_list.h>
00046
00047 #include <axis2_phase_meta.h>
00048 #include <axis2_phase.h>
00049 #include <axis2_flow.h>
00050
00051 #ifdef __cplusplus
00052 extern "C"
00053 {
00054 #endif
00055
00057 typedef struct axis2_transport_in_desc axis2_transport_in_desc_t;
00059 typedef struct axis2_transport_in_desc_ops axis2_transport_in_desc_ops_t;
00060
00061 struct axis2_phase;
00062 struct axis2_transport_receiver;
00063
00068 struct axis2_transport_in_desc_ops
00069 {
00076 axis2_status_t (AXIS2_CALL *
00077 free)(
00078 axis2_transport_in_desc_t *transport_in_desc,
00079 const axis2_env_t *env);
00080
00088 axis2_status_t (AXIS2_CALL *
00089 free_void_arg) (
00090 void *transport_in,
00091 const axis2_env_t *env);
00092
00099 const axis2_qname_t *(AXIS2_CALL *
00100 get_qname)(
00101 const axis2_transport_in_desc_t *transport_in,
00102 const axis2_env_t *env);
00103
00111 axis2_status_t (AXIS2_CALL *
00112 set_qname)(
00113 struct axis2_transport_in_desc *transport_in,
00114 const axis2_env_t *env,
00115 const axis2_qname_t *qname);
00116
00125 struct axis2_flow *(AXIS2_CALL *
00126 get_in_flow)(
00127 const axis2_transport_in_desc_t *transport_in,
00128 const axis2_env_t *env);
00129
00139 axis2_status_t (AXIS2_CALL *
00140 set_in_flow)(
00141 struct axis2_transport_in_desc *transport_in,
00142 const axis2_env_t *env,
00143 struct axis2_flow *in_flow);
00144
00153 struct axis2_flow *(AXIS2_CALL *
00154 get_fault_in_flow)(
00155 const axis2_transport_in_desc_t *transport_in,
00156 const axis2_env_t *env);
00157
00167 axis2_status_t (AXIS2_CALL *
00168 set_fault_in_flow)(
00169 struct axis2_transport_in_desc *transport_in,
00170 const axis2_env_t *env,
00171 struct axis2_flow *fault_in_flow);
00172
00180 struct axis2_transport_receiver *(AXIS2_CALL *
00181 get_recv)(
00182 const axis2_transport_in_desc_t *transport_in,
00183 const axis2_env_t *env);
00184
00193 axis2_status_t (AXIS2_CALL *
00194 set_recv)(
00195 struct axis2_transport_in_desc *transport_in,
00196 const axis2_env_t *env,
00197 struct axis2_transport_receiver *recv);
00198
00205 struct axis2_phase *(AXIS2_CALL *
00206 get_in_phase)(
00207 const axis2_transport_in_desc_t *transport_in,
00208 const axis2_env_t *env);
00209
00218 axis2_status_t (AXIS2_CALL *
00219 set_in_phase)(
00220 struct axis2_transport_in_desc *transport_in,
00221 const axis2_env_t *env,
00222 struct axis2_phase *in_phase);
00223
00230 struct axis2_phase *(AXIS2_CALL *
00231 get_fault_phase)(
00232 const axis2_transport_in_desc_t *transport_in,
00233 const axis2_env_t *env);
00234
00242 axis2_status_t (AXIS2_CALL *
00243 set_fault_phase)(
00244 struct axis2_transport_in_desc *transport_in,
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_in_desc_t *transport_in_desc,
00259 const axis2_env_t *env,
00260 axis2_param_t *param);
00261
00270 axis2_param_t *(AXIS2_CALL *
00271 get_param)(
00272 const axis2_transport_in_desc_t *transport_in_desc,
00273 const axis2_env_t *env,
00274 const axis2_char_t *param_name);
00275
00283 axis2_bool_t (AXIS2_CALL *
00284 is_param_locked)(
00285 axis2_transport_in_desc_t *transport_in_desc,
00286 const axis2_env_t *env,
00287 const axis2_char_t *param_name);
00288 };
00289
00293 struct axis2_transport_in_desc
00294 {
00296 axis2_transport_in_desc_ops_t *ops;
00298 axis2_param_container_t *param_container;
00299 };
00300
00307 AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL
00308 axis2_transport_in_desc_create_with_qname (
00309 const axis2_env_t *env,
00310 const axis2_qname_t *qname);
00311
00319 axis2_status_t AXIS2_CALL
00320 axis2_transport_in_desc_free_void_arg(
00321 void *transport_in,
00322 const axis2_env_t *env);
00323
00326 #define AXIS2_TRANSPORT_IN_DESC_FREE(transport_in_desc, env) \
00327 ((transport_in_desc)->ops->free (transport_in_desc, env))
00328
00331 #define AXIS2_TRANSPORT_IN_DESC_GET_QNAME(transport_in_desc, env) \
00332 ((transport_in_desc)->ops->get_qname (transport_in_desc, env))
00333
00336 #define AXIS2_TRANSPORT_IN_DESC_SET_QNAME(transport_in_desc, env, qname) \
00337 ((transport_in_desc)->ops->set_qname (transport_in_desc, env, qname))
00338
00341 #define AXIS2_TRANSPORT_IN_DESC_GET_IN_FLOW(transport_in_desc, env) \
00342 ((transport_in_desc)->ops->get_in_flow (transport_in_desc, env))
00343
00346 #define AXIS2_TRANSPORT_IN_DESC_SET_IN_FLOW(transport_in_desc, env, in_flow) \
00347 ((transport_in_desc)->ops->set_in_flow (transport_in_desc, env, in_flow))
00348
00351 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULT_IN_FLOW(transport_in_desc, env) \
00352 ((transport_in_desc)->ops->get_fault_in_flow (transport_in_desc, env))
00353
00356 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULT_IN_FLOW(transport_in_desc, env, fault_in_flow) \
00357 ((transport_in_desc)->ops->set_fault_in_flow (transport_in_desc, env, fault_in_flow))
00358
00361 #define AXIS2_TRANSPORT_IN_DESC_GET_RECV(transport_in_desc, env) \
00362 ((transport_in_desc)->ops->get_recv (transport_in_desc, env))
00363
00366 #define AXIS2_TRANSPORT_IN_DESC_SET_RECV(transport_in_desc, env, recv) \
00367 ((transport_in_desc)->ops->set_recv (transport_in_desc, env, recv))
00368
00371 #define AXIS2_TRANSPORT_IN_DESC_GET_IN_PHASE(transport_in_desc, env) \
00372 ((transport_in_desc)->ops->get_in_phase (transport_in_desc, env))
00373
00376 #define AXIS2_TRANSPORT_IN_DESC_SET_IN_PHASE(transport_in_desc, env, in_phase) \
00377 ((transport_in_desc)->ops->set_in_phase (transport_in_desc, env, in_phase))
00378
00381 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULT_PHASE(transport_in_desc, env) \
00382 ((transport_in_desc)->ops->get_fault_phase (transport_in_desc, env))
00383
00386 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULT_PHASE(transport_in_desc, env, fault_phase) \
00387 ((transport_in_desc)->ops->set_fault_phase (transport_in_desc, env, fault_phase))
00388
00391 #define AXIS2_TRANSPORT_IN_DESC_ADD_PARAM(transport_in_desc, env, param) \
00392 ((transport_in_desc)->ops->add_param (transport_in_desc, env, param))
00393
00396 #define AXIS2_TRANSPORT_IN_DESC_GET_PARAM(transport_in_desc, env, param_name) \
00397 ((transport_in_desc)->ops->get_param (transport_in_desc, env, param_name))
00398
00401 #define AXIS2_TRANSPORT_IN_DESC_IS_PARAM_LOCKED(transport_in_desc, env, param_name) \
00402 ((transport_in_desc)->ops->is_param_locked (transport_in_desc, env, param_name))
00403
00406 #ifdef __cplusplus
00407 }
00408 #endif
00409 #endif