00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WODEN_WSDL10_DESC_ELEMENT_H
00018 #define WODEN_WSDL10_DESC_ELEMENT_H
00019
00034 #include <axis2_allocator.h>
00035 #include <axis2_env.h>
00036 #include <axis2_error.h>
00037 #include <axis2_string.h>
00038 #include <axis2_utils.h>
00039 #include <axis2_hash.h>
00040 #include <axis2_qname.h>
00041 #include <axis2_uri.h>
00042 #include <woden.h>
00043 #include <woden_documentable_element.h>
00044 #include <woden_nested_element.h>
00045
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050
00051 typedef struct woden_wsdl10_desc_element woden_wsdl10_desc_element_t;
00052 typedef struct woden_wsdl10_desc_element_ops woden_wsdl10_desc_element_ops_t;
00053 typedef union woden_wsdl10_desc_element_base woden_wsdl10_desc_element_base_t;
00054
00060 struct woden_wsdl10_desc_element_ops
00061 {
00066 axis2_status_t (AXIS2_CALL *
00067 free) (
00068 void *desc_el,
00069 const axis2_env_t *env);
00070
00071 woden_obj_types_t (AXIS2_CALL *
00072 type) (void *desc_el,
00073 const axis2_env_t *env);
00074
00075 axis2_status_t (AXIS2_CALL *
00076 set_document_base_uri) (
00077 void *desc_ele,
00078 const axis2_env_t *env,
00079 axis2_uri_t *document_base_uri);
00080
00081 axis2_uri_t *(AXIS2_CALL *
00082 get_document_base_uri) (
00083 void *desc_ele,
00084 const axis2_env_t *env);
00085
00086
00087
00088
00089 axis2_status_t (AXIS2_CALL *
00090 set_target_namespace) (
00091 void *desc_ele,
00092 const axis2_env_t *env,
00093 axis2_uri_t *namespace_uri);
00094
00095 axis2_uri_t *(AXIS2_CALL *
00096 get_target_namespace) (
00097 void *desc_ele,
00098 const axis2_env_t *env);
00099
00113 axis2_status_t (AXIS2_CALL *
00114 add_namespace) (
00115 void *desc_el,
00116 const axis2_env_t *env,
00117 axis2_char_t *prefix,
00118 axis2_uri_t *namespc);
00119
00120 axis2_status_t (AXIS2_CALL *
00121 remove_namespace) (
00122 void *desc_el,
00123 const axis2_env_t *env,
00124 axis2_char_t *prefix);
00125
00134 axis2_uri_t *(AXIS2_CALL *
00135 get_namespace) (
00136 void *desc_el,
00137 const axis2_env_t *env,
00138 axis2_char_t *prefix);
00139
00140 axis2_hash_t *(AXIS2_CALL *
00141 get_namespaces) (
00142 void *desc_el,
00143 const axis2_env_t *env);
00144
00145
00146
00147
00148
00149 void *(AXIS2_CALL *
00150 create_documentation_element) (
00151 void *desc_el,
00152 const axis2_env_t *env);
00153
00154 void *(AXIS2_CALL *
00155 create_import_element) (
00156 void *desc_el,
00157 const axis2_env_t *env);
00158
00159 void *(AXIS2_CALL *
00160 create_include_element) (
00161 void *desc_el,
00162 const axis2_env_t *env);
00163
00164 void *(AXIS2_CALL *
00165 create_types_element) (
00166 void *desc_el,
00167 const axis2_env_t *env);
00168
00169 void *(AXIS2_CALL *
00170 create_msg_element) (
00171 void *desc_el,
00172 const axis2_env_t *env);
00173
00174 void *(AXIS2_CALL *
00175 create_part_element) (
00176 void *desc_el,
00177 const axis2_env_t *env);
00178
00179 void *(AXIS2_CALL *
00180 create_interface_element) (
00181 void *desc_el,
00182 const axis2_env_t *env);
00183
00184 void *(AXIS2_CALL *
00185 create_interface_fault_element) (
00186 void *desc_el,
00187 const axis2_env_t *env);
00188
00189 void *(AXIS2_CALL *
00190 create_interface_op_element) (
00191 void *desc_el,
00192 const axis2_env_t *env);
00193
00194 void *(AXIS2_CALL *
00195 create_interface_fault_ref_element) (
00196 void *desc_el,
00197 const axis2_env_t *env);
00198
00199 void *(AXIS2_CALL *
00200 create_interface_msg_ref_element) (
00201 void *desc_el,
00202 const axis2_env_t *env);
00203
00204 void *(AXIS2_CALL *
00205 create_binding_element) (
00206 void *desc_el,
00207 const axis2_env_t *env);
00208
00209 void *(AXIS2_CALL *
00210 create_binding_fault_element) (
00211 void *desc_el,
00212 const axis2_env_t *env);
00213
00214 void *(AXIS2_CALL *
00215 create_binding_op_element) (
00216 void *desc_el,
00217 const axis2_env_t *env);
00218
00219 void *(AXIS2_CALL *
00220 create_binding_fault_ref_element) (
00221 void *desc_el,
00222 const axis2_env_t *env);
00223
00224 void *(AXIS2_CALL *
00225 create_binding_msg_ref_element) (
00226 void *desc_el,
00227 const axis2_env_t *env);
00228
00229 void *(AXIS2_CALL *
00230 create_feature_element) (
00231 void *desc_el,
00232 const axis2_env_t *env);
00233
00234 void *(AXIS2_CALL *
00235 create_svc_element) (
00236 void *desc_el,
00237 const axis2_env_t *env);
00238
00239 void *(AXIS2_CALL *
00240 create_endpoint_element) (
00241 void *desc_el,
00242 const axis2_env_t *env);
00243
00244 void *(AXIS2_CALL *
00245 create_property_element) (
00246 void *desc_el,
00247 const axis2_env_t *env);
00248
00249
00250
00251
00252
00253
00254
00255 axis2_status_t (AXIS2_CALL *
00256 add_import_element) (
00257 void *desc_ele,
00258 const axis2_env_t *env,
00259 void *import_el);
00260
00261 axis2_array_list_t *(AXIS2_CALL *
00262 get_import_elements) (
00263 void *desc_ele,
00264 const axis2_env_t *env);
00265
00266 axis2_status_t (AXIS2_CALL *
00267 add_include_element) (
00268 void *desc_ele,
00269 const axis2_env_t *env,
00270 void *include_el);
00271
00272 axis2_array_list_t *(AXIS2_CALL *
00273 get_include_elements) (
00274 void *desc_ele,
00275 const axis2_env_t *env);
00276
00277 axis2_status_t (AXIS2_CALL *
00278 set_types_element) (
00279 void *desc_ele,
00280 const axis2_env_t *env,
00281 void *types_el);
00282
00283 void *(AXIS2_CALL *
00284 get_types_element) (
00285 void *desc_ele,
00286 const axis2_env_t *env);
00287
00288 axis2_status_t (AXIS2_CALL *
00289 add_msg_element) (
00290 void *desc_ele,
00291 const axis2_env_t *env,
00292 void *msg_el);
00293
00294 axis2_status_t (AXIS2_CALL *
00295 add_interface_element) (
00296 void *desc_ele,
00297 const axis2_env_t *env,
00298 void *interface_el);
00299
00300 axis2_array_list_t *(AXIS2_CALL *
00301 get_msg_elements) (
00302 void *desc_ele,
00303 const axis2_env_t *env);
00304
00305 axis2_array_list_t *(AXIS2_CALL *
00306 get_interface_elements) (
00307 void *desc_ele,
00308 const axis2_env_t *env);
00309
00310 axis2_status_t (AXIS2_CALL *
00311 add_binding_element) (
00312 void *desc_ele,
00313 const axis2_env_t *env,
00314 void *binding_el);
00315
00316 axis2_array_list_t *(AXIS2_CALL *
00317 get_binding_elements) (
00318 void *desc_ele,
00319 const axis2_env_t *env);
00320
00321 axis2_status_t (AXIS2_CALL *
00322 add_svc_element) (
00323 void *desc_ele,
00324 const axis2_env_t *env,
00325 void *svc_el);
00326
00327 axis2_array_list_t *(AXIS2_CALL *
00328 get_svc_elements) (
00329 void *desc_ele,
00330 const axis2_env_t *env);
00331
00332 axis2_status_t (AXIS2_CALL *
00333 set_ext_registry) (
00334 void *desc_ele,
00335 const axis2_env_t *env,
00336 void *ext_reg);
00337
00338 void *(AXIS2_CALL *
00339 get_ext_registry) (
00340 void *desc_ele,
00341 const axis2_env_t *env);
00342
00346 void *(AXIS2_CALL *
00347 to_component) (
00348 void *desc_ele,
00349 const axis2_env_t *env);
00350
00351
00352 };
00353
00354 struct woden_wsdl10_desc_element
00355 {
00356 woden_documentable_element_t documentable_element;
00357 woden_wsdl10_desc_element_ops_t *ops;
00358 };
00359
00360
00361 axis2_status_t AXIS2_CALL
00362 woden_wsdl10_desc_element_resolve_methods(
00363 woden_wsdl10_desc_element_t *desc_element,
00364 const axis2_env_t *env,
00365 axis2_hash_t *methods);
00366
00367
00368 #define WODEN_WSDL10_DESC_ELEMENT_FREE(desc_el, env) \
00369 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00370 free (desc_el, env))
00371
00372 #define WODEN_WSDL10_DESC_ELEMENT_TYPE(desc_el, env) \
00373 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00374 type (desc_el, env))
00375
00376 #define WODEN_WSDL10_DESC_ELEMENT_SET_DOCUMENT_BASE_URI(desc_el, env, document_base_uri) \
00377 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00378 set_document_base_uri(desc_el, env, document_base_uri))
00379
00380 #define WODEN_WSDL10_DESC_ELEMENT_GET_DOCUMENT_BASE_URI(desc_el, env) \
00381 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00382 get_document_base_uri(desc_el, env))
00383
00384 #define WODEN_WSDL10_DESC_ELEMENT_SET_TARGET_NAMESPACE(desc_el, env, namespc_uri) \
00385 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00386 set_target_namespace(desc_el, env, namespc_uri))
00387
00388 #define WODEN_WSDL10_DESC_ELEMENT_GET_TARGET_NAMESPACE(desc_el, env) \
00389 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00390 get_target_namespace(desc_el, env))
00391
00392 #define WODEN_WSDL10_DESC_ELEMENT_ADD_NAMESPACE(desc_el, env, prefix, namespc) \
00393 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00394 add_namespace (desc_el, env, prefix, namespc))
00395
00396 #define WODEN_WSDL10_DESC_ELEMENT_REMOVE_NAMESPACE(desc_el, env, prefix) \
00397 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00398 remove_namespace (desc_el, env, prefix))
00399
00400 #define WODEN_WSDL10_DESC_ELEMENT_GET_NAMESPACE(desc_el, env, prefix) \
00401 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00402 get_namespace (desc_el, env, prefix))
00403
00404 #define WODEN_WSDL10_DESC_ELEMENT_GET_NAMESPACES(desc_el, env) \
00405 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00406 get_namespaces (desc_el, env))
00407
00408 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_DOCUMENTATION_ELEMENT(desc_el, env) \
00409 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00410 create_documentation_element (desc_el, env))
00411
00412 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_IMPORT_ELEMENT(desc_el, env) \
00413 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00414 create_import_element (desc_el, env))
00415
00416 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_INCLUDE_ELEMENT(desc_el, env) \
00417 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00418 create_include_element (desc_el, env))
00419
00420 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_TYPES_ELEMENT(desc_el, env) \
00421 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00422 create_types_element (desc_el, env))
00423
00424 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_MSG_ELEMENT(desc_el, env) \
00425 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00426 create_msg_element (desc_el, env))
00427
00428 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_PART_ELEMENT(desc_el, env) \
00429 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00430 create_part_element (desc_el, env))
00431
00432 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_ELEMENT(desc_el, env) \
00433 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00434 create_interface_element (desc_el, env))
00435
00436 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_FAULT_ELEMENT(desc_el, env) \
00437 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00438 create_interface_fault_element (desc_el, env))
00439
00440 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_OP_ELEMENT(desc_el, env) \
00441 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00442 create_interface_op_element (desc_el, env))
00443
00444 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_FAULT_REF_ELEMENT(desc_el, env) \
00445 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00446 create_interface_fault_ref_element (desc_el, env))
00447
00448 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_INTERFACE_MSG_REF_ELEMENT(desc_el, env) \
00449 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00450 create_interface_msg_ref_element (desc_el, env))
00451
00452 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_ELEMENT(desc_el, env) \
00453 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00454 create_binding_element (desc_el, env))
00455
00456 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_FAULT_ELEMENT(desc_el, env) \
00457 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00458 create_binding_fault_element (desc_el, env))
00459
00460 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_OP_ELEMENT(desc_el, env) \
00461 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00462 create_binding_op_element (desc_el, env))
00463
00464 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_FAULT_REF_ELEMENT(desc_el, env) \
00465 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00466 create_binding_fault_ref_element (desc_el, env))
00467
00468 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_BINDING_MSG_REF_ELEMENT(desc_el, env) \
00469 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00470 create_binding_msg_ref_element (desc_el, env))
00471
00472 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_FEATURE_ELEMENT(desc_el, env) \
00473 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00474 create_feature_element (desc_el, env))
00475
00476 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_SVC_ELEMENT(desc_el, env) \
00477 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00478 create_svc_element (desc_el, env))
00479
00480 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_ENDPOINT_ELEMENT(desc_el, env) \
00481 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00482 create_endpoint_element (desc_el, env))
00483
00484 #define WODEN_WSDL10_DESC_ELEMENT_CREATE_PROPERTY_ELEMENT(desc_el, env) \
00485 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00486 create_property_element (desc_el, env))
00487
00488 #define WODEN_WSDL10_DESC_ELEMENT_ADD_IMPORT_ELEMENT(desc_el, env, import_el) \
00489 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00490 add_import_element (desc_el, env, import_el))
00491
00492 #define WODEN_WSDL10_DESC_ELEMENT_GET_IMPORT_ELEMENTS(desc_el, env) \
00493 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00494 get_import_elements (desc_el, env))
00495
00496 #define WODEN_WSDL10_DESC_ELEMENT_ADD_INCLUDE_ELEMENT(desc_el, env, include_el) \
00497 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00498 add_include_element (desc_el, env, include_el))
00499
00500 #define WODEN_WSDL10_DESC_ELEMENT_GET_INCLUDE_ELEMENTS(desc_el, env) \
00501 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00502 get_include_elements (desc_el, env))
00503
00504 #define WODEN_WSDL10_DESC_ELEMENT_SET_TYPES_ELEMENT(desc_el, env, types_el) \
00505 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00506 set_types_element (desc_el, env, types_el))
00507
00508 #define WODEN_WSDL10_DESC_ELEMENT_GET_TYPES_ELEMENT(desc_el, env) \
00509 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00510 get_types_element (desc_el, env))
00511
00512 #define WODEN_WSDL10_DESC_ELEMENT_ADD_MSG_ELEMENT(desc_el, env, msg_el) \
00513 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00514 add_msg_element (desc_el, env, msg_el))
00515
00516 #define WODEN_WSDL10_DESC_ELEMENT_ADD_INTERFACE_ELEMENT(desc_el, env, interface_el) \
00517 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00518 add_interface_element (desc_el, env, interface_el))
00519
00520 #define WODEN_WSDL10_DESC_ELEMENT_GET_MSG_ELEMENTS(desc_el, env) \
00521 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00522 get_msg_elements (desc_el, env))
00523
00524 #define WODEN_WSDL10_DESC_ELEMENT_GET_INTERFACE_ELEMENTS(desc_el, env) \
00525 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00526 get_interface_elements (desc_el, env))
00527
00528 #define WODEN_WSDL10_DESC_ELEMENT_ADD_BINDING_ELEMENT(desc_el, env, binding_el) \
00529 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00530 add_binding_element (desc_el, env, binding_el))
00531
00532 #define WODEN_WSDL10_DESC_ELEMENT_GET_BINDING_ELEMENTS(desc_el, env) \
00533 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00534 get_binding_elements (desc_el, env))
00535
00536 #define WODEN_WSDL10_DESC_ELEMENT_ADD_SVC_ELEMENT(desc_el, env, svc_el) \
00537 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00538 add_svc_element (desc_el, env, svc_el))
00539
00540 #define WODEN_WSDL10_DESC_ELEMENT_GET_SVC_ELEMENTS(desc_el, env) \
00541 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00542 get_svc_elements (desc_el, env))
00543
00544 #define WODEN_WSDL10_DESC_ELEMENT_SET_EXT_REGISTRY(desc_el, env, ext_reg) \
00545 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00546 set_ext_registry (desc_el, env, ext_reg))
00547
00548 #define WODEN_WSDL10_DESC_ELEMENT_GET_EXT_REGISTRY(desc_el, env) \
00549 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00550 get_ext_registry (desc_el, env))
00551
00552 #define WODEN_WSDL10_DESC_ELEMENT_TO_COMPONENT(desc_el, env) \
00553 (((woden_wsdl10_desc_element_t *) desc_el)->ops->\
00554 to_component (desc_el, env))
00555
00556
00558 #ifdef __cplusplus
00559 }
00560 #endif
00561 #endif
00562