00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_SOAP_BINDING_EXTS_H
00018 #define WODEN_SOAP_BINDING_EXTS_H
00019
00037 #include <woden.h>
00038 #include <woden_component_exts.h>
00039 #include <axis2_array_list.h>
00040
00046 typedef union woden_soap_binding_exts_base woden_soap_binding_exts_base_t;
00047 typedef struct woden_soap_binding_exts woden_soap_binding_exts_t;
00048 typedef struct woden_soap_binding_exts_ops woden_soap_binding_exts_ops_t;
00049
00050
00051 #ifdef __cplusplus
00052 extern "C"
00053 {
00054 #endif
00055
00056 struct woden_soap_binding_exts_ops
00057 {
00062 axis2_status_t (AXIS2_CALL *
00063 free) (void *soap_binding_exts,
00064 const axis2_env_t *env);
00065
00066 axis2_hash_t *(AXIS2_CALL *
00067 super_objs) (void *soap_binding_exts,
00068 const axis2_env_t *env);
00069
00070 woden_obj_types_t (AXIS2_CALL *
00071 type) (void *soap_binding_exts,
00072 const axis2_env_t *env);
00076 struct woden_component_exts *(AXIS2_CALL *
00077 get_base_impl) (
00078 void *soap_binding_exts,
00079 const axis2_env_t *env);
00080
00081 axis2_char_t *(AXIS2_CALL *
00082 get_soap_version) (
00083 void *binding_exts,
00084 const axis2_env_t *env);
00085
00086 axis2_uri_t *(AXIS2_CALL *
00087 get_soap_underlying_protocol) (
00088 void *binding_exts,
00089 const axis2_env_t *env);
00090
00091 axis2_uri_t *(AXIS2_CALL *
00092 get_soap_mep_default) (
00093 void *binding_exts,
00094 const axis2_env_t *env);
00095
00096 axis2_array_list_t *(AXIS2_CALL *
00097 get_soap_modules) (
00098 void *binding_exts,
00099 const axis2_env_t *env);
00100
00101
00102 };
00103
00104 struct woden_soap_binding_exts
00105 {
00106 woden_component_exts_t component_exts;
00107 woden_soap_binding_exts_ops_t *ops;
00108 };
00109
00110 AXIS2_EXTERN woden_soap_binding_exts_t * AXIS2_CALL
00111 woden_soap_binding_exts_create(
00112 const axis2_env_t *env);
00113
00114
00115
00116 AXIS2_EXTERN woden_soap_binding_exts_t * AXIS2_CALL
00117 woden_soap_binding_exts_to_component_exts(
00118 void *soap_binding_exts,
00119 const axis2_env_t *env);
00120
00121 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00122 woden_soap_binding_exts_resolve_methods(
00123 woden_soap_binding_exts_t *soap_binding_exts,
00124 const axis2_env_t *env,
00125 woden_soap_binding_exts_t *soap_binding_exts_impl,
00126 axis2_hash_t *methods);
00127
00128
00129 #define WODEN_SOAP_BINDING_EXTS_FREE(soap_binding_exts, env) \
00130 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->free(soap_binding_exts, env))
00131
00132 #define WODEN_SOAP_BINDING_EXTS_SUPER_OBJS(soap_binding_exts, env) \
00133 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->super_objs(soap_binding_exts, env))
00134
00135 #define WODEN_SOAP_BINDING_EXTS_TYPE(soap_binding_exts, env) \
00136 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->type(soap_binding_exts, env))
00137
00138 #define WODEN_SOAP_BINDING_EXTS_GET_BASE_IMPL(soap_binding_exts, env) \
00139 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->get_base_impl(soap_binding_exts, env))
00140
00141 #define WODEN_SOAP_BINDING_EXTS_GET_SOAP_VERSION(soap_binding_exts, env) \
00142 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
00143 get_soap_version (soap_binding_exts, env))
00144
00145 #define WODEN_SOAP_BINDING_EXTS_GET_SOAP_UNDERLYING_PROTOCOL(soap_binding_exts, env) \
00146 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
00147 get_soap_underlying_protocol (soap_binding_exts, env))
00148
00149 #define WODEN_SOAP_BINDING_EXTS_GET_SOAP_MEP_DEFAULT(soap_binding_exts, env) \
00150 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
00151 get_soap_mep_default (soap_binding_exts, env))
00152
00153 #define WODEN_SOAP_BINDING_EXTS_GET_SOAP_MODULES(soap_binding_exts, env) \
00154 (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
00155 get_soap_modules (soap_binding_exts, env))
00156
00158 #ifdef __cplusplus
00159 }
00160 #endif
00161 #endif