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
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 #include <axis2_phase_meta.h>
00033 #include <axis2_phase.h>
00034 #include <axis2_flow.h>
00035 #include <axis2_transport_sender.h>
00036
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041
00042 struct axis2_phase;
00043 struct axis2_transport_sender;
00044 typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00045 typedef struct axis2_transport_out_desc_ops axis2_transport_out_desc_ops_t;
00046
00056 AXIS2_DECLARE_DATA struct axis2_transport_out_desc_ops
00057 {
00061 axis2_status_t (AXIS2_CALL *free)(
00062 axis2_transport_out_desc_t *transport_out_desc,
00063 const axis2_env_t *env);
00064
00068 axis2_qname_t *(AXIS2_CALL *
00069 get_qname) (struct axis2_transport_out_desc *transport_out,
00070 const axis2_env_t *env);
00071
00075 axis2_status_t (AXIS2_CALL *
00076 set_qname) (struct axis2_transport_out_desc *transport_out,
00077 const axis2_env_t *env,
00078 axis2_qname_t *qname);
00079
00080 struct axis2_flow *(AXIS2_CALL *
00081 get_outflow) (struct axis2_transport_out_desc *transport_out,
00082 const axis2_env_t *env);
00083
00084 axis2_status_t (AXIS2_CALL *
00085 set_outflow) (struct axis2_transport_out_desc *transport_out,
00086 const axis2_env_t *env,
00087 struct axis2_flow *outflow);
00088
00089 struct axis2_flow *(AXIS2_CALL *
00090 get_faultflow) (struct axis2_transport_out_desc *transport_out,
00091 const axis2_env_t *env);
00092
00093 axis2_status_t (AXIS2_CALL *
00094 set_faultflow) (struct axis2_transport_out_desc *transport_out,
00095 const axis2_env_t *env,
00096 struct axis2_flow *faultflow);
00097
00101 axis2_transport_sender_t * (AXIS2_CALL *
00102 get_sender) (struct axis2_transport_out_desc *transport_out,
00103 const axis2_env_t *env);
00104
00108 axis2_status_t (AXIS2_CALL *
00109 set_sender) (struct axis2_transport_out_desc *transport_out,
00110 const axis2_env_t *env,
00111 axis2_transport_sender_t *sender);
00112
00113 struct axis2_phase * (AXIS2_CALL *
00114 get_out_phase) (struct axis2_transport_out_desc *transport_out,
00115 const axis2_env_t *env);
00116
00117 axis2_status_t (AXIS2_CALL *
00118 set_out_phase) (struct axis2_transport_out_desc *transport_out,
00119 const axis2_env_t *env,
00120 struct axis2_phase *out_phase);
00121
00122 struct axis2_phase *(AXIS2_CALL *
00123 get_faultphase) (struct axis2_transport_out_desc *transport_out,
00124 const axis2_env_t *env);
00125
00126 axis2_status_t (AXIS2_CALL *
00127 set_faultphase) (struct axis2_transport_out_desc *transport_out,
00128 const axis2_env_t *env,
00129 struct axis2_phase *faultphase);
00130
00131 axis2_status_t (AXIS2_CALL *
00132 add_param) (axis2_transport_out_desc_t *transport_out_desc,
00133 const axis2_env_t *env,
00134 axis2_param_t *param);
00135
00136 axis2_param_t *(AXIS2_CALL *
00137 get_param) (axis2_transport_out_desc_t *transport_out_desc,
00138 const axis2_env_t *env,
00139 axis2_char_t *param_name);
00140
00141 axis2_bool_t (AXIS2_CALL *
00142 is_param_locked) (axis2_transport_out_desc_t *transport_out_desc,
00143 const axis2_env_t *env,
00144 axis2_char_t *param_name);
00145
00146 };
00147
00151 AXIS2_DECLARE_DATA struct axis2_transport_out_desc
00152 {
00153 axis2_transport_out_desc_ops_t *ops;
00154 axis2_param_container_t *param_container;
00155 };
00156
00161 AXIS2_EXTERN axis2_transport_out_desc_t * AXIS2_CALL
00162 axis2_transport_out_desc_create_with_qname (const axis2_env_t *env, axis2_qname_t *qname);
00163
00164
00165
00166 #define AXIS2_TRANSPORT_OUT_DESC_FREE(transport_out_desc, env) \
00167 ((transport_out_desc)->ops->free (transport_out_desc, env))
00168
00169 #define AXIS2_TRANSPORT_OUT_DESC_GET_QNAME(transport_out_desc, env) \
00170 ((transport_out_desc)->ops->get_qname (transport_out_desc, env))
00171
00172 #define AXIS2_TRANSPORT_OUT_DESC_SET_QNAME(transport_out_desc, env, qname) \
00173 ((transport_out_desc)->ops->set_qname (transport_out_desc, env, qname))
00174
00175 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUTFLOW(transport_out_desc, env) \
00176 ((transport_out_desc)->ops->get_outflow (transport_out_desc, env))
00177
00178 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUTFLOW(transport_out_desc, env, outflow) \
00179 ((transport_out_desc)->ops->set_outflow (transport_out_desc, env, outflow))
00180
00181 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULTFLOW(transport_out_desc, env) \
00182 ((transport_out_desc)->ops->get_faultflow (transport_out_desc, env))
00183
00184 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULTFLOW(transport_out_desc, env, faultflow) \
00185 ((transport_out_desc)->ops->set_faultflow (transport_out_desc, env, faultflow))
00186
00187 #define AXIS2_TRANSPORT_OUT_DESC_GET_SENDER(transport_out_desc, env) \
00188 ((transport_out_desc)->ops->get_sender (transport_out_desc, env))
00189
00190 #define AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out_desc, env, sender) \
00191 ((transport_out_desc)->ops->set_sender (transport_out_desc, env, sender))
00192
00193 #define AXIS2_TRANSPORT_OUT_DESC_GET_OUT_PHASE(transport_out_desc, env) \
00194 ((transport_out_desc)->ops->get_out_phase (transport_out_desc, env))
00195
00196 #define AXIS2_TRANSPORT_OUT_DESC_SET_OUT_PHASE(transport_out_desc, env, out_phase) \
00197 ((transport_out_desc)->ops->set_out_phase (transport_out_desc, env, out_phase))
00198
00199 #define AXIS2_TRANSPORT_OUT_DESC_GET_FAULTPHASE(transport_out_desc, env) \
00200 ((transport_out_desc)->ops->get_faultphase (transport_out_desc, env))
00201
00202 #define AXIS2_TRANSPORT_OUT_DESC_SET_FAULTPHASE(transport_out_desc, env, faultphase) \
00203 ((transport_out_desc)->ops->set_faultphase (transport_out_desc, env, faultphase))
00204
00205 #define AXIS2_TRANSPORT_OUT_DESC_ADD_PARAM(transport_out_desc, env, param) \
00206 ((transport_out_desc)->ops->add_param (transport_out_desc, env, param))
00207
00208 #define AXIS2_TRANSPORT_OUT_DESC_GET_PARAM(transport_out_desc, env, param_name) \
00209 ((transport_out_desc)->ops->get_param (transport_out_desc, env, param_name))
00210
00211 #define AXIS2_TRANSPORT_OUT_DESC_IS_PARAM_LOCKED(transport_out_desc, env, param_name) \
00212 ((transport_out_desc)->ops->is_param_locked (transport_out_desc, env, param_name))
00213
00214
00215
00218 #ifdef __cplusplus
00219 }
00220 #endif
00221 #endif