00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_WSDL_BINDING_H
00018 #define AXIS2_WSDL_BINDING_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_hash.h>
00031 #include <axis2_wsdl_binding_op.h>
00032 #include <axis2_wsdl_binding_fault.h>
00033 #include <axis2_qname.h>
00034 #include <axis2_wsdl_interface.h>
00035
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040
00041 struct axis2_wsdl_interface;
00042 struct axis2_wsdl_binding_op;
00043 struct axis2_wsdl_binding_fault;
00044 struct axis2_wsdl_extensible_component;
00045 typedef struct axis2_wsdl_binding axis2_wsdl_binding_t;
00046 typedef struct axis2_wsdl_binding_ops axis2_wsdl_binding_ops_t;
00047
00057 struct axis2_wsdl_binding_ops
00058 {
00062 axis2_status_t (AXIS2_CALL *
00063 free)(axis2_wsdl_binding_t *wsdl_binding,
00064 const axis2_env_t *env);
00065
00071 struct axis2_wsdl_interface * (AXIS2_CALL *
00072 get_bound_interface) (axis2_wsdl_binding_t *binding,
00073 const axis2_env_t *env);
00074
00080 axis2_status_t (AXIS2_CALL *
00081 set_bound_interface) (axis2_wsdl_binding_t *binding,
00082 const axis2_env_t *env,
00083 struct axis2_wsdl_interface *bound_interface);
00084
00090 axis2_qname_t * (AXIS2_CALL *
00091 get_name) (axis2_wsdl_binding_t *binding,
00092 const axis2_env_t *env);
00093
00099 axis2_status_t (AXIS2_CALL *
00100 set_name) (axis2_wsdl_binding_t *binding,
00101 const axis2_env_t *env,
00102 axis2_qname_t *qname);
00103
00109 axis2_char_t * (AXIS2_CALL *
00110 get_target_namespace) (axis2_wsdl_binding_t *binding,
00111 const axis2_env_t *env);
00112
00118 axis2_hash_t * (AXIS2_CALL *
00119 get_binding_faults) (axis2_wsdl_binding_t *binding,
00120 const axis2_env_t *env);
00121
00127 axis2_status_t (AXIS2_CALL *
00128 set_binding_faults) (axis2_wsdl_binding_t *binding,
00129 const axis2_env_t *env,
00130 axis2_hash_t *binding_faults);
00131
00137 axis2_hash_t * (AXIS2_CALL *
00138 get_binding_ops) (axis2_wsdl_binding_t *binding,
00139 const axis2_env_t *env);
00140
00146 axis2_status_t (AXIS2_CALL *
00147 set_binding_ops) (axis2_wsdl_binding_t *binding,
00148 const axis2_env_t *env,
00149 axis2_hash_t *binding_ops);
00150
00156 axis2_status_t (AXIS2_CALL *
00157 add_binding_op) (
00158 axis2_wsdl_binding_t *binding,
00159 const axis2_env_t *env,
00160 struct axis2_wsdl_binding_op *binding_op);
00161
00168 struct axis2_wsdl_binding_op *(AXIS2_CALL *
00169 get_binding_op) (axis2_wsdl_binding_t *binding,
00170 const axis2_env_t *env,
00171 axis2_qname_t *qname);
00172
00178 axis2_status_t (AXIS2_CALL *
00179 add_binding_fault) (axis2_wsdl_binding_t *binding,
00180 const axis2_env_t *env,
00181 struct axis2_wsdl_binding_fault *binding_fault);
00182
00189 struct axis2_wsdl_binding_fault * (AXIS2_CALL *
00190 get_binding_fault) (axis2_wsdl_binding_t *binding,
00191 const axis2_env_t *env,
00192 axis2_qname_t *ref);
00193
00194 };
00195
00199 struct axis2_wsdl_binding
00200 {
00201 axis2_wsdl_binding_ops_t *ops;
00202 struct axis2_wsdl_extensible_component *extensible_component;
00203 };
00204
00209 AXIS2_EXTERN axis2_wsdl_binding_t *AXIS2_CALL axis2_wsdl_binding_create (const axis2_env_t *env);
00210
00211
00212
00213 #define AXIS2_WSDL_BINDING_FREE(wsdl_binding, env) \
00214 ((wsdl_binding)->ops->free (wsdl_binding, env))
00215
00216 #define AXIS2_WSDL_BINDING_GET_BOUND_INTERFACE(wsdl_binding, env) \
00217 ((wsdl_binding)->ops->get_bound_interface (wsdl_binding, env))
00218
00219 #define AXIS2_WSDL_BINDING_SET_BOUND_INTERFACE(wsdl_binding, env, interface) \
00220 ((wsdl_binding)->ops->set_bound_interface (wsdl_binding, env, interface))
00221
00222 #define AXIS2_WSDL_BINDING_GET_NAME(wsdl_binding, env) \
00223 ((wsdl_binding)->ops->get_name (wsdl_binding, env))
00224
00225 #define AXIS2_WSDL_BINDING_SET_NAME(wsdl_binding, env, qname) \
00226 ((wsdl_binding)->ops->set_name (wsdl_binding, env, qname))
00227
00228 #define AXIS2_WSDL_BINDING_GET_TARGET_NAMESPACE(wsdl_binding, env) \
00229 ((wsdl_binding)->ops->get_target_namespace (wsdl_binding, env))
00230
00231 #define AXIS2_WSDL_BINDING_GET_BINDING_FAULTS(wsdl_binding, env) \
00232 ((wsdl_binding)->ops->get_binding_faults (wsdl_binding, env))
00233
00234 #define AXIS2_WSDL_BINDING_SET_BINDING_FAULTS(wsdl_binding, env, faults) \
00235 ((wsdl_binding)->ops->set_binding_faults (wsdl_binding, env, faults))
00236
00237 #define AXIS2_WSDL_BINDING_GET_BINDING_OPS(wsdl_binding, env) \
00238 ((wsdl_binding)->ops->get_binding_ops (wsdl_binding, env))
00239
00240 #define AXIS2_WSDL_BINDING_SET_BINDING_OPS(wsdl_binding, env, ops) \
00241 ((wsdl_binding)->ops->set_binding_ops (wsdl_binding, env, ops))
00242
00243 #define AXIS2_WSDL_BINDING_ADD_BINDING_OP(wsdl_binding, env, op) \
00244 ((wsdl_binding)->ops->add_binding_op (wsdl_binding, env, op))
00245
00246 #define AXIS2_WSDL_BINDING_GET_BINDING_OP(wsdl_binding, env, qname) \
00247 ((wsdl_binding)->ops->get_binding_op (wsdl_binding, env, qname))
00248
00249 #define AXIS2_WSDL_BINDING_ADD_BINDING_FAULT(wsdl_binding, env, op) \
00250 ((wsdl_binding)->ops->add_binding_fault (wsdl_binding, env, fault))
00251
00252 #define AXIS2_WSDL_BINDING_GET_BINDING_FAULT(wsdl_binding, env) \
00253 ((wsdl_binding)->ops->get_binding_fault (wsdl_binding, env))
00254
00255
00258 #ifdef __cplusplus
00259 }
00260 #endif
00261 #endif