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