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
00025 #include <axis2_const.h>
00026 #include <axis2_error.h>
00027 #include <axis2_defines.h>
00028 #include <axis2_env.h>
00029 #include <axis2_allocator.h>
00030 #include <axis2_qname.h>
00031 #include <axis2_array_list.h>
00032
00033 #include <axis2_phase_meta.h>
00034 #include <axis2_phase.h>
00035 #include <axis2_flow.h>
00036
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041
00042 struct axis2_phase;
00043 struct axis2_transport_receiver;
00044 typedef struct axis2_transport_in_desc axis2_transport_in_desc_t;
00045 typedef struct axis2_transport_in_desc_ops axis2_transport_in_desc_ops_t;
00046
00056 AXIS2_DECLARE_DATA struct axis2_transport_in_desc_ops
00057 {
00061 axis2_status_t (AXIS2_CALL *free)(
00062 axis2_transport_in_desc_t *transport_in_desc,
00063 const axis2_env_t *env);
00064
00068 axis2_qname_t *(AXIS2_CALL *
00069 get_qname) (struct axis2_transport_in_desc *transport_in,
00070 const axis2_env_t *env);
00071
00075 axis2_status_t (AXIS2_CALL *
00076 set_qname) (struct axis2_transport_in_desc *transport_in,
00077 const axis2_env_t *env,
00078 axis2_qname_t *qname);
00079
00080 struct axis2_flow *(AXIS2_CALL *
00081 get_inflow) (struct axis2_transport_in_desc *transport_in,
00082 const axis2_env_t *env);
00083
00084 axis2_status_t (AXIS2_CALL *
00085 set_inflow) (struct axis2_transport_in_desc *transport_in,
00086 const axis2_env_t *env,
00087 struct axis2_flow *inflow);
00088
00089 struct axis2_flow *(AXIS2_CALL *
00090 get_faultflow) (struct axis2_transport_in_desc *transport_in,
00091 const axis2_env_t *env);
00092
00093 axis2_status_t (AXIS2_CALL *
00094 set_faultflow) (struct axis2_transport_in_desc *transport_in,
00095 const axis2_env_t *env,
00096 struct axis2_flow *faultflow);
00097
00101 struct axis2_transport_receiver * (AXIS2_CALL *
00102 get_recv) (struct axis2_transport_in_desc *transport_in,
00103 const axis2_env_t *env);
00104
00108 axis2_status_t (AXIS2_CALL *
00109 set_recv) (struct axis2_transport_in_desc *transport_in,
00110 const axis2_env_t *env,
00111 struct axis2_transport_receiver *recv);
00112
00113 struct axis2_phase * (AXIS2_CALL *
00114 get_in_phase) (struct axis2_transport_in_desc *transport_in,
00115 const axis2_env_t *env);
00116
00117 axis2_status_t (AXIS2_CALL *
00118 set_in_phase) (struct axis2_transport_in_desc *transport_in,
00119 const axis2_env_t *env,
00120 struct axis2_phase *in_phase);
00121
00122 struct axis2_phase *(AXIS2_CALL *
00123 get_faultphase) (struct axis2_transport_in_desc *transport_in,
00124 const axis2_env_t *env);
00125
00126 axis2_status_t (AXIS2_CALL *
00127 set_faultphase) (struct axis2_transport_in_desc *transport_in,
00128 const axis2_env_t *env,
00129 struct axis2_phase *faultphase);
00130 axis2_status_t (AXIS2_CALL *
00131 add_param) (axis2_transport_in_desc_t *transport_in_desc,
00132 const axis2_env_t *env,
00133 axis2_param_t *param);
00134
00135 axis2_param_t *(AXIS2_CALL *
00136 get_param) (axis2_transport_in_desc_t *transport_in_desc,
00137 const axis2_env_t *env,
00138 axis2_char_t *param_name);
00139
00140 axis2_bool_t (AXIS2_CALL *
00141 is_param_locked) (axis2_transport_in_desc_t *transport_in_desc,
00142 const axis2_env_t *env,
00143 axis2_char_t *param_name);
00144
00145
00146 };
00147
00151 AXIS2_DECLARE_DATA struct axis2_transport_in_desc
00152 {
00153 axis2_transport_in_desc_ops_t *ops;
00154 axis2_param_container_t *param_container;
00155 };
00156
00161 AXIS2_EXTERN axis2_transport_in_desc_t * AXIS2_CALL
00162 axis2_transport_in_desc_create_with_qname (const axis2_env_t *env,
00163 axis2_qname_t *qname);
00164
00165
00166
00167 #define AXIS2_TRANSPORT_IN_DESC_FREE(transport_in_desc, env) \
00168 ((transport_in_desc)->ops->free (transport_in_desc, env))
00169
00170 #define AXIS2_TRANSPORT_IN_DESC_GET_QNAME(transport_in_desc, env) \
00171 ((transport_in_desc)->ops->get_qname (transport_in_desc, env))
00172
00173 #define AXIS2_TRANSPORT_IN_DESC_SET_QNAME(transport_in_desc, env, qname) \
00174 ((transport_in_desc)->ops->set_qname (transport_in_desc, env, qname))
00175
00176 #define AXIS2_TRANSPORT_IN_DESC_GET_INFLOW(transport_in_desc, env) \
00177 ((transport_in_desc)->ops->get_inflow (transport_in_desc, env))
00178
00179 #define AXIS2_TRANSPORT_IN_DESC_SET_INFLOW(transport_in_desc, env, inflow) \
00180 ((transport_in_desc)->ops->set_inflow (transport_in_desc, env, inflow))
00181
00182 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULTFLOW(transport_in_desc, env) \
00183 ((transport_in_desc)->ops->get_faultflow (transport_in_desc, env))
00184
00185 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULTFLOW(transport_in_desc, env, faultflow) \
00186 ((transport_in_desc)->ops->set_faultflow (transport_in_desc, env, faultflow))
00187
00188 #define AXIS2_TRANSPORT_IN_DESC_GET_RECV(transport_in_desc, env) \
00189 ((transport_in_desc)->ops->get_recv (transport_in_desc, env))
00190
00191 #define AXIS2_TRANSPORT_IN_DESC_SET_RECV(transport_in_desc, env, recv) \
00192 ((transport_in_desc)->ops->set_recv (transport_in_desc, env, recv))
00193
00194 #define AXIS2_TRANSPORT_IN_DESC_GET_IN_PHASE(transport_in_desc, env) \
00195 ((transport_in_desc)->ops->get_in_phase (transport_in_desc, env))
00196
00197 #define AXIS2_TRANSPORT_IN_DESC_SET_IN_PHASE(transport_in_desc, env, in_phase) \
00198 ((transport_in_desc)->ops->set_in_phase (transport_in_desc, env, in_phase))
00199
00200 #define AXIS2_TRANSPORT_IN_DESC_GET_FAULTPHASE(transport_in_desc, env) \
00201 ((transport_in_desc)->ops->get_faultphase (transport_in_desc, env))
00202
00203 #define AXIS2_TRANSPORT_IN_DESC_SET_FAULTPHASE(transport_in_desc, env, faultphase) \
00204 ((transport_in_desc)->ops->set_faultphase (transport_in_desc, env, faultphase))
00205
00206 #define AXIS2_TRANSPORT_IN_DESC_ADD_PARAM(transport_in_desc, env, param) \
00207 ((transport_in_desc)->ops->add_param (transport_in_desc, env, param))
00208
00209 #define AXIS2_TRANSPORT_IN_DESC_GET_PARAM(transport_in_desc, env, param_name) \
00210 ((transport_in_desc)->ops->get_param (transport_in_desc, env, param_name))
00211
00212 #define AXIS2_TRANSPORT_IN_DESC_IS_PARAM_LOCKED(transport_in_desc, env, param_name) \
00213 ((transport_in_desc)->ops->is_param_locked (transport_in_desc, env, param_name))
00214
00215
00216
00219 #ifdef __cplusplus
00220 }
00221 #endif
00222 #endif