00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WODEN_WSDL10_DESC_H
00019 #define WODEN_WSDL10_DESC_H
00020
00039 #include <woden.h>
00040 #include <woden_wsdl10_desc_element.h>
00041 #include <woden_wsdl_obj.h>
00042 #include <woden_documentable.h>
00043 #include <woden_wsdl_component.h>
00044
00050 typedef union woden_wsdl10_desc_base woden_wsdl10_desc_base_t;
00051 typedef struct woden_wsdl10_desc woden_wsdl10_desc_t;
00052 typedef struct woden_wsdl10_desc_ops woden_wsdl10_desc_ops_t;
00053 struct woden_documentation_element;
00054 struct woden_wsdl_component;
00055 struct woden_documentable;
00056
00057 #ifdef __cplusplus
00058 extern "C"
00059 {
00060 #endif
00061
00062 struct woden_wsdl10_desc_ops
00063 {
00068 axis2_status_t (AXIS2_CALL *
00069 free) (void *desc,
00070 const axis2_env_t *env);
00071
00072 axis2_status_t (AXIS2_CALL *
00073 to_desc_free) (void *desc,
00074 const axis2_env_t *env);
00075
00076 axis2_hash_t *(AXIS2_CALL *
00077 super_objs) (void *desc,
00078 const axis2_env_t *env);
00079
00080 woden_obj_types_t (AXIS2_CALL *
00081 type) (void *desc,
00082 const axis2_env_t *env);
00086 struct woden_documentable *(AXIS2_CALL *
00087 get_base_impl) (
00088 void *desc,
00089 const axis2_env_t *env);
00090
00091
00092
00093 axis2_array_list_t *(AXIS2_CALL *
00094 get_msgs) (
00095 void *desc,
00096 const axis2_env_t *env);
00097
00098 axis2_array_list_t *(AXIS2_CALL *
00099 get_interfaces) (
00100 void *desc,
00101 const axis2_env_t *env);
00102
00103 axis2_array_list_t *(AXIS2_CALL *
00104 get_bindings) (
00105 void *desc,
00106 const axis2_env_t *env);
00107
00108 axis2_array_list_t *(AXIS2_CALL *
00109 get_svcs) (
00110 void *desc,
00111 const axis2_env_t *env);
00112
00113 axis2_array_list_t *(AXIS2_CALL *
00114 get_element_decls) (
00115 void *desc,
00116 const axis2_env_t *env);
00117
00118 void *(AXIS2_CALL *
00119 get_element_decl) (
00120 void *desc,
00121 const axis2_env_t *env,
00122 axis2_qname_t *qname);
00123
00124 axis2_array_list_t *(AXIS2_CALL *
00125 get_type_defs) (
00126 void *desc,
00127 const axis2_env_t *env);
00128
00129 void *(AXIS2_CALL *
00130 get_type_def) (
00131 void *desc,
00132 const axis2_env_t *env,
00133 axis2_qname_t *qname);
00134
00135 void *(AXIS2_CALL *
00136 to_element) (
00137 void *desc,
00138 const axis2_env_t *env);
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153 axis2_status_t (AXIS2_CALL *
00154 add_to_all_msgs) (
00155 void *desc,
00156 const axis2_env_t *env,
00157 void *msg);
00158
00159 axis2_status_t (AXIS2_CALL *
00160 add_to_all_interfaces) (
00161 void *desc,
00162 const axis2_env_t *env,
00163 void *interf);
00164
00165 axis2_status_t (AXIS2_CALL *
00166 add_to_all_bindings) (
00167 void *desc,
00168 const axis2_env_t *env,
00169 void *binding);
00170
00171 axis2_status_t (AXIS2_CALL *
00172 add_to_all_svcs) (
00173 void *desc,
00174 const axis2_env_t *env,
00175 void *svc);
00176
00177 axis2_status_t (AXIS2_CALL *
00178 add_to_all_element_decls) (
00179 void *desc,
00180 const axis2_env_t *env,
00181 void *element_decl);
00182
00183 axis2_status_t (AXIS2_CALL *
00184 add_to_all_type_defs) (
00185 void *desc,
00186 const axis2_env_t *env,
00187 void *type_def);
00188 };
00189
00190 union woden_wsdl10_desc_base
00191 {
00192 woden_documentable_t documentable;
00193 woden_wsdl10_desc_element_t desc_element;
00194 woden_wsdl_component_t wsdl_component;
00195 };
00196
00197 struct woden_wsdl10_desc
00198 {
00199 woden_wsdl10_desc_base_t base;
00200 woden_wsdl10_desc_ops_t *ops;
00201 };
00202
00203 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00204 woden_wsdl10_desc_create(
00205 const axis2_env_t *env);
00206
00207
00208
00209 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00210 woden_wsdl10_desc_to_desc_element(
00211 void *desc,
00212 const axis2_env_t *env);
00213
00214 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00215 woden_wsdl10_desc_to_documentable_element(
00216 void *desc,
00217 const axis2_env_t *env);
00218
00219 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00220 woden_wsdl10_desc_to_documentable(
00221 void *desc,
00222 const axis2_env_t *env);
00223
00224 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00225 woden_wsdl10_desc_to_wsdl_obj(
00226 void *desc,
00227 const axis2_env_t *env);
00228
00229 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00230 woden_wsdl10_desc_to_wsdl_component(
00231 void *desc,
00232 const axis2_env_t *env);
00233
00234 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00235 woden_wsdl10_desc_to_attr_extensible(
00236 void *desc,
00237 const axis2_env_t *env);
00238
00239 AXIS2_EXTERN woden_wsdl10_desc_t * AXIS2_CALL
00240 woden_wsdl10_desc_to_element_extensible(
00241 void *desc,
00242 const axis2_env_t *env);
00243
00244 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00245 woden_wsdl10_desc_resolve_methods(
00246 woden_wsdl10_desc_t *desc,
00247 const axis2_env_t *env,
00248 woden_wsdl10_desc_t *desc_impl,
00249 axis2_hash_t *methods);
00250
00251
00252 #define WODEN_WSDL10_DESC_FREE(desc, env) \
00253 (((woden_wsdl10_desc_t *) desc)->ops->free(desc, env))
00254
00255 #define WODEN_WSDL10_DESC_TO_DESC_FREE(desc, env) \
00256 (((woden_wsdl10_desc_t *) desc)->ops->to_desc_free(desc, env))
00257
00258 #define WODEN_WSDL10_DESC_SUPER_OBJS(desc, env) \
00259 (((woden_wsdl10_desc_t *) desc)->ops->super_objs(desc, env))
00260
00261 #define WODEN_WSDL10_DESC_TYPE(desc, env) \
00262 (((woden_wsdl10_desc_t *) desc)->ops->type(desc, env))
00263
00264 #define WODEN_WSDL10_DESC_GET_BASE_IMPL(desc, env) \
00265 (((woden_wsdl10_desc_t *) desc)->ops->get_base_impl(desc, env))
00266
00267 #define WODEN_WSDL10_DESC_GET_MSGS(desc, env) \
00268 (((woden_wsdl10_desc_t *) desc)->ops->\
00269 get_msgs (desc, env))
00270
00271 #define WODEN_WSDL10_DESC_GET_INTERFACES(desc, env) \
00272 (((woden_wsdl10_desc_t *) desc)->ops->\
00273 get_interfaces (desc, env))
00274
00275 #define WODEN_WSDL10_DESC_GET_BINDINGS(desc, env) \
00276 (((woden_wsdl10_desc_t *) desc)->ops->\
00277 get_bindings(desc, env))
00278
00279 #define WODEN_WSDL10_DESC_GET_SVCS(desc, env) \
00280 (((woden_wsdl10_desc_t *) desc)->ops->\
00281 get_svcs(desc, env))
00282
00283 #define WODEN_WSDL10_DESC_GET_ELEMENT_DECLS(desc, env) \
00284 (((woden_wsdl10_desc_t *) desc)->ops->\
00285 get_element_decls(desc, env))
00286
00287 #define WODEN_WSDL10_DESC_GET_ELEMENT_DECL(desc, env, qname) \
00288 (((woden_wsdl10_desc_t *) desc)->ops->\
00289 get_element_decl (desc, env, qname))
00290
00291 #define WODEN_WSDL10_DESC_GET_TYPE_DEFS(desc, env) \
00292 (((woden_wsdl10_desc_t *) desc)->ops->\
00293 get_type_defs (desc, env))
00294
00295 #define WODEN_WSDL10_DESC_GET_TYPE_DEF(desc, env, qname) \
00296 (((woden_wsdl10_desc_t *) desc)->ops->\
00297 get_type_def (desc, env, qname))
00298
00299 #define WODEN_WSDL10_DESC_TO_ELEMENT(desc, env) \
00300 (((woden_wsdl10_desc_t *) desc)->ops->\
00301 to_element (desc, env))
00302
00303 #define WODEN_WSDL10_DESC_ADD_TO_ALL_MSGS(desc, env, msg) \
00304 (((woden_wsdl10_desc_t *) desc)->ops->\
00305 add_to_all_msgs (desc, env, msg))
00306
00307 #define WODEN_WSDL10_DESC_ADD_TO_ALL_INTERFACES(desc, env, interface) \
00308 (((woden_wsdl10_desc_t *) desc)->ops->\
00309 add_to_all_interfaces (desc, env, interface))
00310
00311 #define WODEN_WSDL10_DESC_ADD_TO_ALL_BINDINGS(desc, env, binding) \
00312 (((woden_wsdl10_desc_t *) desc)->ops->\
00313 add_to_all_bindings (desc, env, binding))
00314
00315 #define WODEN_WSDL10_DESC_ADD_TO_ALL_SVCS(desc, env, svc) \
00316 (((woden_wsdl10_desc_t *) desc)->ops->\
00317 add_to_all_svcs (desc, env, svc))
00318
00319 #define WODEN_WSDL10_DESC_ADD_TO_ALL_ELEMENT_DECLS(desc, env, element_decl) \
00320 (((woden_wsdl10_desc_t *) desc)->ops->\
00321 add_to_all_element_decls (desc, env, element_decl))
00322
00323 #define WODEN_WSDL10_DESC_ADD_TO_ALL_TYPE_DEFS(desc, env, type_def) \
00324 (((woden_wsdl10_desc_t *) desc)->ops->\
00325 add_to_all_type_defs (desc, env, type_def))
00326
00328 #ifdef __cplusplus
00329 }
00330 #endif
00331 #endif