00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_WSDL10_PART_ELEMENT_H
00018 #define WODEN_WSDL10_PART_ELEMENT_H
00019
00027 #include <axis2_allocator.h>
00028 #include <axis2_env.h>
00029 #include <axis2_error.h>
00030 #include <axis2_string.h>
00031 #include <axis2_utils.h>
00032 #include <axis2_hash.h>
00033 #include <axis2_qname.h>
00034 #include <axis2_uri.h>
00035 #include <axis2_array_list.h>
00036 #include <woden.h>
00037 #include <woden_documentable_element.h>
00038 #include <woden_configurable_element.h>
00039 #include <woden_nested_element.h>
00040
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045
00046 typedef struct woden_wsdl10_part_element woden_wsdl10_part_element_t;
00047 typedef struct woden_wsdl10_part_element_ops woden_wsdl10_part_element_ops_t;
00048 typedef union woden_wsdl10_part_element_base woden_wsdl10_part_element_base_t;
00049
00055 struct woden_wsdl10_part_element_ops
00056 {
00061 axis2_status_t (AXIS2_CALL *
00062 free) (
00063 void *part_element,
00064 const axis2_env_t *env);
00065
00066 woden_obj_types_t (AXIS2_CALL *
00067 type) (
00068 void *part_element,
00069 const axis2_env_t *env);
00070
00078 axis2_status_t (AXIS2_CALL *
00079 set_element_qname) (
00080 void *iface_fault_ele,
00081 const axis2_env_t *env,
00082 axis2_qname_t *element);
00083
00084 axis2_qname_t *(AXIS2_CALL *
00085 get_element_qname) (
00086 void *iface_fault_ele,
00087 const axis2_env_t *env);
00088
00099 void *(AXIS2_CALL *
00100 get_element) (
00101 void *iface_fault_ele,
00102 const axis2_env_t *env);
00103
00104 axis2_status_t (AXIS2_CALL *
00105 set_qname) (
00106 void *iface_fault_ele,
00107 const axis2_env_t *env,
00108 axis2_qname_t *qname);
00109
00110 axis2_qname_t *(AXIS2_CALL *
00111 get_qname) (
00112 void *iface_fault_ele,
00113 const axis2_env_t *env);
00114
00115
00116 };
00117
00118 union woden_wsdl10_part_element_base
00119 {
00120 woden_documentable_element_t documentable_element;
00121 woden_configurable_element_t configurable_element;
00122 woden_nested_element_t nested_element;
00123 };
00124
00125 struct woden_wsdl10_part_element
00126 {
00127 woden_wsdl10_part_element_base_t base;
00128 woden_wsdl10_part_element_ops_t *ops;
00129 };
00130
00131 AXIS2_EXTERN woden_wsdl10_part_element_t * AXIS2_CALL
00132 woden_wsdl10_part_element_create(
00133 const axis2_env_t *env);
00134
00135
00136 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137 woden_wsdl10_part_element_resolve_methods(
00138 woden_wsdl10_part_element_t *part_element,
00139 const axis2_env_t *env,
00140 axis2_hash_t *methods);
00141
00142
00143 #define WODEN_WSDL10_PART_ELEMENT_FREE(part_element, env) \
00144 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00145 free (part_element, env))
00146
00147 #define WODEN_WSDL10_PART_ELEMENT_TYPE(part_element, env) \
00148 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00149 type (part_element, env))
00150
00151 #define WODEN_WSDL10_PART_ELEMENT_SET_ELEMENT_QNAME(part_element, env, element) \
00152 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00153 set_element_qname (part_element, env, element))
00154
00155 #define WODEN_WSDL10_PART_ELEMENT_GET_ELEMENT_QNAME(part_element, env) \
00156 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00157 get_element_qname (part_element, env))
00158
00159 #define WODEN_WSDL10_PART_ELEMENT_GET_ELEMENT(part_element, env) \
00160 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00161 get_element (part_element, env))
00162
00163 #define WODEN_WSDL10_PART_ELEMENT_SET_QNAME(part_element, env, qname) \
00164 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00165 set_qname (part_element, env, qname))
00166
00167 #define WODEN_WSDL10_PART_ELEMENT_GET_QNAME(part_element, env) \
00168 (((woden_wsdl10_part_element_t *) part_element)->ops->\
00169 get_qname (part_element, env))
00170
00171
00172
00173
00175 #ifdef __cplusplus
00176 }
00177 #endif
00178 #endif