00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_SOAP_BINDING_OP_EXTS_H
00019 #define WODEN_SOAP_BINDING_OP_EXTS_H
00020
00037 #include <woden.h>
00038 #include <woden_component_exts.h>
00039 #include <axis2_array_list.h>
00040
00046 typedef union woden_soap_binding_op_exts_base woden_soap_binding_op_exts_base_t;
00047 typedef struct woden_soap_binding_op_exts woden_soap_binding_op_exts_t;
00048 typedef struct woden_soap_binding_op_exts_ops woden_soap_binding_op_exts_ops_t;
00049
00050
00051 #ifdef __cplusplus
00052 extern "C"
00053 {
00054 #endif
00055
00056 struct woden_soap_binding_op_exts_ops
00057 {
00062 axis2_status_t (AXIS2_CALL *
00063 free) (void *soap_binding_op_exts,
00064 const axis2_env_t *env);
00065
00066 axis2_hash_t *(AXIS2_CALL *
00067 super_objs) (void *soap_binding_op_exts,
00068 const axis2_env_t *env);
00069
00070 woden_obj_types_t (AXIS2_CALL *
00071 type) (void *soap_binding_op_exts,
00072 const axis2_env_t *env);
00076 struct woden_component_exts *(AXIS2_CALL *
00077 get_base_impl) (
00078 void *soap_binding_op_exts,
00079 const axis2_env_t *env);
00080
00081 axis2_uri_t *(AXIS2_CALL *
00082 get_soap_mep) (
00083 void *binding_op_exts,
00084 const axis2_env_t *env);
00085
00086 axis2_uri_t *(AXIS2_CALL *
00087 get_soap_action) (
00088 void *binding_op_exts,
00089 const axis2_env_t *env);
00090
00091 axis2_array_list_t *(AXIS2_CALL *
00092 get_soap_modules) (
00093 void *binding_op_exts,
00094 const axis2_env_t *env);
00095
00096 };
00097
00098 struct woden_soap_binding_op_exts
00099 {
00100 woden_component_exts_t component_exts;
00101 woden_soap_binding_op_exts_ops_t *ops;
00102 };
00103
00104 AXIS2_EXTERN woden_soap_binding_op_exts_t * AXIS2_CALL
00105 woden_soap_binding_op_exts_create(
00106 const axis2_env_t *env);
00107
00108
00109
00110 AXIS2_EXTERN woden_soap_binding_op_exts_t * AXIS2_CALL
00111 woden_soap_binding_op_exts_to_component_exts(
00112 void *soap_binding_op_exts,
00113 const axis2_env_t *env);
00114
00115 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116 woden_soap_binding_op_exts_resolve_methods(
00117 woden_soap_binding_op_exts_t *soap_binding_op_exts,
00118 const axis2_env_t *env,
00119 woden_soap_binding_op_exts_t *soap_binding_op_exts_impl,
00120 axis2_hash_t *methods);
00121
00122
00123 #define WODEN_SOAP_BINDING_OP_EXTS_FREE(soap_binding_op_exts, env) \
00124 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->free(soap_binding_op_exts, env))
00125
00126 #define WODEN_SOAP_BINDING_OP_EXTS_SUPER_OBJS(soap_binding_op_exts, env) \
00127 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->super_objs(soap_binding_op_exts, env))
00128
00129 #define WODEN_SOAP_BINDING_OP_EXTS_TYPE(soap_binding_op_exts, env) \
00130 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->type(soap_binding_op_exts, env))
00131
00132 #define WODEN_SOAP_BINDING_OP_EXTS_GET_BASE_IMPL(soap_binding_op_exts, env) \
00133 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->get_base_impl(soap_binding_op_exts, env))
00134
00135 #define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_MEP(soap_binding_op_exts, env) \
00136 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
00137 get_soap_mep (soap_binding_op_exts, env))
00138
00139 #define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_ACTION(soap_binding_op_exts, env) \
00140 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
00141 get_soap_action (soap_binding_op_exts, env))
00142
00143 #define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_MODULES(soap_binding_op_exts, env) \
00144 (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
00145 get_soap_modules (soap_binding_op_exts, env))
00146
00148 #ifdef __cplusplus
00149 }
00150 #endif
00151 #endif