00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_WSDL10_SOAP_MODULE_H
00018 #define WODEN_WSDL10_SOAP_MODULE_H
00019
00028 #include <woden.h>
00029 #include <woden_wsdl10_soap_module_element.h>
00030
00036 typedef union woden_wsdl10_soap_module_base woden_wsdl10_soap_module_base_t;
00037 typedef struct woden_wsdl10_soap_module woden_wsdl10_soap_module_t;
00038 typedef struct woden_wsdl10_soap_module_ops woden_wsdl10_soap_module_ops_t;
00039
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044
00045 struct woden_wsdl10_soap_module_ops
00046 {
00051 axis2_status_t (AXIS2_CALL *
00052 free) (
00053 void *module,
00054 const axis2_env_t *env);
00055
00056 axis2_hash_t *(AXIS2_CALL *
00057 super_objs) (
00058 void *module,
00059 const axis2_env_t *env);
00060
00061 woden_obj_types_t (AXIS2_CALL *
00062 type) (
00063 void *module,
00064 const axis2_env_t *env);
00065
00066 struct woden_component_exts *(AXIS2_CALL *
00067 get_base_impl) (
00068 void *module,
00069 const axis2_env_t *env);
00070
00071
00072
00073
00074
00075
00076 axis2_uri_t *(AXIS2_CALL *
00077 get_ref) (
00078 void *module,
00079 axis2_env_t *env);
00080
00081 axis2_bool_t (AXIS2_CALL *
00082 is_required) (
00083 void *module,
00084 axis2_env_t *env);
00085
00086 void *(AXIS2_CALL *
00087 get_parent) (
00088 void *module,
00089 axis2_env_t *env);
00090
00091 void *(AXIS2_CALL *
00092 to_element) (
00093 void *module,
00094 axis2_env_t *env);
00095
00096 };
00097
00098 struct woden_wsdl10_soap_module
00099 {
00100 woden_wsdl10_soap_module_element_t module_element;
00101 woden_wsdl10_soap_module_ops_t *ops;
00102 };
00103
00104 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00105 woden_wsdl10_soap_module_create(
00106 const axis2_env_t *env);
00107
00108
00109
00110 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00111 woden_wsdl10_soap_module_to_soap_module_element(
00112 void *module,
00113 const axis2_env_t *env);
00114
00115 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00116 woden_wsdl10_soap_module_to_ext_element(
00117 void *module,
00118 const axis2_env_t *env);
00119
00120 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00121 woden_wsdl10_soap_module_to_attr_extensible(
00122 void *module,
00123 const axis2_env_t *env);
00124
00125 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00126 woden_wsdl10_soap_module_to_element_extensible(
00127 void *module,
00128 const axis2_env_t *env);
00129
00130 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131 woden_wsdl10_soap_module_resolve_methods(
00132 woden_wsdl10_soap_module_t *soap_module,
00133 const axis2_env_t *env,
00134 woden_wsdl10_soap_module_t *soap_module_impl,
00135 axis2_hash_t *methods);
00136
00137
00138 #define WODEN_WSDL10_SOAP_MODULE_FREE(soap_module, env) \
00139 (((woden_wsdl10_soap_module_t *) soap_module)->ops->free(soap_module, env))
00140
00141 #define WODEN_WSDL10_SOAP_MODULE_SUPER_OBJS(soap_module, env) \
00142 (((woden_wsdl10_soap_module_t *) soap_module)->ops->super_objs(soap_module, env))
00143
00144 #define WODEN_WSDL10_SOAP_MODULE_TYPE(soap_module, env) \
00145 (((woden_wsdl10_soap_module_t *) soap_module)->ops->type(soap_module, env))
00146
00147 #define WODEN_WSDL10_SOAP_MODULE_GET_BASE_IMPL(soap_module, env) \
00148 (((woden_wsdl10_soap_module_t *) soap_module)->ops->get_base_impl(soap_module, env))
00149
00150 #define WODEN_WSDL10_SOAP_MODULE_GET_REF(soap_module, env) \
00151 (((woden_wsdl10_soap_module_t *) soap_module)->\
00152 get_ref (soap_module, env))
00153
00154 #define WODEN_WSDL10_SOAP_MODULE_IS_REQUIRED(soap_module, env) \
00155 (((woden_wsdl10_soap_module_t *) soap_module)->\
00156 is_required (soap_module, env))
00157
00158 #define WODEN_WSDL10_SOAP_MODULE_GET_PARENT(soap_module, env) \
00159 (((woden_wsdl10_soap_module_t *) soap_module)->\
00160 get_parent (soap_module, env))
00161
00162 #define WODEN_WSDL10_SOAP_MODULE_TO_ELEMENT(soap_module, env) \
00163 (((woden_wsdl10_soap_module_t *) soap_module)->\
00164 to_element (soap_module, env))
00165
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170 #endif