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