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