00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef AXIS2_WSDL_DESC_H
00018 #define AXIS2_WSDL_DESC_H
00019
00025 #include <axis2_const.h>
00026 #include <axis2_error.h>
00027 #include <axis2_defines.h>
00028 #include <axis2_env.h>
00029 #include <axis2_allocator.h>
00030 #include <axis2_hash.h>
00031 #include <axis2_array_list.h>
00032 #include <axis2_qname.h>
00033
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038
00039 struct axis2_wsdl_op;
00040 struct axis2_wsdl_component;
00041 struct axis2_wsdl_include;
00042 struct axis2_wsdl_import;
00043 struct axis2_wsdl_types;
00044 struct axis2_wsdl_msg_ref;
00045 struct axis2_wsdl_fault_ref;
00046 struct axis2_wsdl_feature;
00047 struct axis2_wsdl_property;
00048 struct axis2_wsdl_binding;
00049 struct axis2_wsdl_binding_fault;
00050 struct axis2_wsdl_binding_op;
00051 struct axis2_wsdl_extensible_attribute;
00052 struct axis2_wsdl_interface;
00053
00054 typedef struct axis2_wsdl_desc axis2_wsdl_desc_t;
00055 typedef struct axis2_wsdl_desc_ops axis2_wsdl_desc_ops_t;
00056
00067 struct axis2_wsdl_desc_ops
00068 {
00072 axis2_status_t (AXIS2_CALL *
00073 free)(axis2_wsdl_desc_t *wsdl_desc,
00074 const axis2_env_t *env);
00075
00082 axis2_hash_t *(AXIS2_CALL *
00083 get_bindings)(axis2_wsdl_desc_t *wsdl_desc,
00084 const axis2_env_t *env);
00085
00091 axis2_status_t (AXIS2_CALL *
00092 set_bindings)(axis2_wsdl_desc_t *wsdl_desc,
00093 const axis2_env_t *env,
00094 axis2_hash_t *bindings);
00095
00104 axis2_status_t (AXIS2_CALL *
00105 add_binding)(axis2_wsdl_desc_t *wsdl_desc,
00106 const axis2_env_t *env,
00107 struct axis2_wsdl_binding *binding);
00108
00116 struct axis2_wsdl_binding *(AXIS2_CALL *
00117 get_binding)(axis2_wsdl_desc_t *wsdl_desc,
00118 const axis2_env_t *env,
00119 axis2_qname_t *qname);
00120
00128 axis2_status_t (AXIS2_CALL *
00129 add_interface)(axis2_wsdl_desc_t *wsdl_desc,
00130 const axis2_env_t *env,
00131 struct axis2_wsdl_interface *interface);
00132
00140 struct axis2_wsdl_interface *(AXIS2_CALL *
00141 get_interface)(axis2_wsdl_desc_t *wsdl_desc,
00142 const axis2_env_t *env,
00143 axis2_qname_t *qname);
00144
00150 axis2_hash_t *(AXIS2_CALL *
00151 get_interfaces)(axis2_wsdl_desc_t *wsdl_desc,
00152 const axis2_env_t *env);
00153
00159 axis2_status_t (AXIS2_CALL *
00160 set_interfaces)(axis2_wsdl_desc_t *wsdl_desc,
00161 const axis2_env_t *env,
00162 axis2_hash_t *interfaces);
00163
00169 axis2_hash_t *(AXIS2_CALL *
00170 get_svcs)(axis2_wsdl_desc_t *wsdl_desc,
00171 const axis2_env_t *env);
00172
00178 axis2_status_t (AXIS2_CALL *
00179 set_svcs)(axis2_wsdl_desc_t *wsdl_desc,
00180 const axis2_env_t *env,
00181 axis2_hash_t *svcs);
00182
00189 struct axis2_wsdl_svc *(AXIS2_CALL *
00190 get_svc)(axis2_wsdl_desc_t *wsdl_desc,
00191 const axis2_env_t *env,
00192 axis2_qname_t *qname);
00193
00201 axis2_status_t (AXIS2_CALL *
00202 add_svc)(axis2_wsdl_desc_t *wsdl_desc,
00203 const axis2_env_t *env,
00204 struct axis2_wsdl_svc *svc);
00205
00211 axis2_char_t *(AXIS2_CALL *
00212 get_target_namespace)(axis2_wsdl_desc_t *wsdl_desc,
00213 const axis2_env_t *env);
00214
00220 axis2_status_t (AXIS2_CALL *
00221 set_target_namespace)(axis2_wsdl_desc_t *wsdl_desc,
00222 const axis2_env_t *env,
00223 axis2_char_t *target_namespace);
00224
00230 struct axis2_wsdl_types *(AXIS2_CALL *
00231 get_types)(axis2_wsdl_desc_t *wsdl_desc,
00232 const axis2_env_t *env);
00233
00239 axis2_status_t (AXIS2_CALL *
00240 set_types)(axis2_wsdl_desc_t *wsdl_desc,
00241 const axis2_env_t *env,
00242 struct axis2_wsdl_types *types);
00243
00249 axis2_qname_t *(AXIS2_CALL *
00250 get_wsdl1_def_name)(axis2_wsdl_desc_t *wsdl_desc,
00251 const axis2_env_t *env);
00252
00258 axis2_status_t (AXIS2_CALL *
00259 set_wsdl1_def_name)(axis2_wsdl_desc_t *wsdl_desc,
00260 const axis2_env_t *env,
00261 axis2_qname_t *wsdl1_def_name);
00262
00271 axis2_char_t *(AXIS2_CALL *
00272 get_namespace)(axis2_wsdl_desc_t *wsdl_desc,
00273 const axis2_env_t *env,
00274 axis2_char_t *prefix);
00275
00282 axis2_hash_t *(AXIS2_CALL *
00283 get_namespaces)(axis2_wsdl_desc_t *wsdl_desc,
00284 const axis2_env_t *env);
00285
00292 axis2_status_t (AXIS2_CALL *
00293 set_namespaces)(axis2_wsdl_desc_t *wsdl_desc,
00294 const axis2_env_t *env,
00295 axis2_hash_t *namespaces);
00296
00302 axis2_array_list_t *(AXIS2_CALL *
00303 get_imports)(axis2_wsdl_desc_t *wsdl_desc,
00304 const axis2_env_t *env);
00305
00311 axis2_status_t (AXIS2_CALL *
00312 set_imports)(axis2_wsdl_desc_t *wsdl_desc,
00313 const axis2_env_t *env,
00314 axis2_array_list_t *imports);
00315
00321 axis2_status_t (AXIS2_CALL *
00322 add_import)(axis2_wsdl_desc_t *wsdl_desc,
00323 const axis2_env_t *env,
00324 struct axis2_wsdl_import *wsdl_import);
00325
00331 axis2_array_list_t *(AXIS2_CALL *
00332 get_includes)(axis2_wsdl_desc_t *wsdl_desc,
00333 const axis2_env_t *env);
00334
00340 axis2_status_t (AXIS2_CALL *
00341 set_includes) (axis2_wsdl_desc_t *wsdl_desc,
00342 const axis2_env_t *env,
00343 axis2_array_list_t *includes);
00344
00350 axis2_status_t (AXIS2_CALL *
00351 add_include) (axis2_wsdl_desc_t *wsdl_desc,
00352 const axis2_env_t *env,
00353 struct axis2_wsdl_include *wsdl_include);
00354
00355 struct axis2_wsdl_binding *(AXIS2_CALL *
00356 get_first_binding) (axis2_wsdl_desc_t *wsdl_desc,
00357 const axis2_env_t *env);
00358
00359 };
00360
00365 struct axis2_wsdl_desc
00366 {
00367 axis2_wsdl_desc_ops_t *ops;
00368 struct axis2_wsdl_component *component;
00369 };
00370
00375 AXIS2_EXTERN axis2_wsdl_desc_t * AXIS2_CALL
00376 axis2_wsdl_desc_create (const axis2_env_t *env);
00377
00378
00379
00380 #define AXIS2_WSDL_DESC_FREE(wsdl_desc, env) \
00381 ((wsdl_desc)->ops->free (wsdl_desc, env))
00382
00383 #define AXIS2_WSDL_DESC_GET_BINDINGS(wsdl_desc, env) \
00384 ((wsdl_desc)->ops->get_bindings (wsdl_desc, env))
00385
00386 #define AXIS2_WSDL_DESC_SET_BINDINGS(wsdl_desc, env, bindings) \
00387 ((wsdl_desc)->ops->set_bindings (wsdl_desc, env, bindings))
00388
00389 #define AXIS2_WSDL_DESC_ADD_BINDING(wsdl_desc, env, binding) \
00390 ((wsdl_desc)->ops->add_binding (wsdl_desc, env, binding))
00391
00392 #define AXIS2_WSDL_DESC_GET_BINDING(wsdl_desc, env, qname) \
00393 ((wsdl_desc)->ops->get_binding (wsdl_desc, env, qname))
00394
00395 #define AXIS2_WSDL_DESC_ADD_INTERFACE(wsdl_desc, env, interface) \
00396 ((wsdl_desc)->ops->add_interface (wsdl_desc, env, interface))
00397
00398 #define AXIS2_WSDL_DESC_GET_INTERFACE(wsdl_desc, env, qname) \
00399 ((wsdl_desc)->ops->get_interface (wsdl_desc, env, qname))
00400
00401 #define AXIS2_WSDL_DESC_GET_INTERFACES(wsdl_desc, env) \
00402 ((wsdl_desc)->ops->get_interfaces (wsdl_desc, env))
00403
00404 #define AXIS2_WSDL_DESC_SET_INTERFACES(wsdl_desc, env, interfaces) \
00405 ((wsdl_desc)->ops->set_interfaces (wsdl_desc, env, interfaces))
00406
00407 #define AXIS2_WSDL_DESC_GET_SVCS(wsdl_desc, env) \
00408 ((wsdl_desc)->ops->get_svcs (wsdl_desc, env))
00409
00410 #define AXIS2_WSDL_DESC_SET_SVCS(wsdl_desc, env, svcs) \
00411 ((wsdl_desc)->ops->set_svcs (wsdl_desc, env, svcs))
00412
00413 #define AXIS2_WSDL_DESC_GET_SVC(wsdl_desc, env, qname) \
00414 ((wsdl_desc)->ops->get_svc (wsdl_desc, env, qname))
00415
00416 #define AXIS2_WSDL_DESC_ADD_SVC(wsdl_desc, env, svc) \
00417 ((wsdl_desc)->ops->add_svc (wsdl_desc, env, svc))
00418
00419 #define AXIS2_WSDL_DESC_GET_TARGET_NAMESPACE(wsdl_desc, env) \
00420 ((wsdl_desc)->ops->get_target_namespace (wsdl_desc, env))
00421
00422 #define AXIS2_WSDL_DESC_SET_TARGET_NAMESPACE(wsdl_desc, env, target_namespace) \
00423 ((wsdl_desc)->ops->set_target_namespace (wsdl_desc, env, target_namespace))
00424
00425 #define AXIS2_WSDL_DESC_GET_TYPES(wsdl_desc, env) \
00426 ((wsdl_desc)->ops->get_types (wsdl_desc, env))
00427
00428 #define AXIS2_WSDL_DESC_SET_TYPES(wsdl_desc, env, types) \
00429 ((wsdl_desc)->ops->set_types (wsdl_desc, env, types))
00430
00431 #define AXIS2_WSDL_DESC_GET_WSDL1_DEF_NAME(wsdl_desc, env) \
00432 ((wsdl_desc)->ops->get_wsdl1_def_name (wsdl_desc, env))
00433
00434 #define AXIS2_WSDL_DESC_SET_WSDL1_DEF_NAME(wsdl_desc, env, wsdl1_def_qname) \
00435 ((wsdl_desc)->ops->set_wsdl1_def_name (wsdl_desc, env, wsdl1_def_qname))
00436
00437 #define AXIS2_WSDL_DESC_GET_NAMESPACE(wsdl_desc, env, prefix) \
00438 ((wsdl_desc)->ops->get_namespace (wsdl_desc, env, prefix))
00439
00440 #define AXIS2_WSDL_DESC_GET_NAMESPACES(wsdl_desc, env) \
00441 ((wsdl_desc)->ops->get_namespaces (wsdl_desc, env))
00442
00443 #define AXIS2_WSDL_DESC_SET_NAMESPACES(wsdl_desc, env, namespaces) \
00444 ((wsdl_desc)->ops->set_namespace (wsdl_desc, env, namespaces))
00445
00446 #define AXIS2_WSDL_DESC_GET_IMPORTS(wsdl_desc, env) \
00447 ((wsdl_desc)->ops->get_imports (wsdl_desc, env))
00448
00449 #define AXIS2_WSDL_DESC_SET_IMPORTS(wsdl_desc, env, imports) \
00450 ((wsdl_desc)->ops->set_imports (wsdl_desc, env, imports))
00451
00452 #define AXIS2_WSDL_DESC_ADD_IMPORT(wsdl_desc, env, wsdl_import) \
00453 ((wsdl_desc)->ops->add_import (wsdl_desc, env, wsdl_import))
00454
00455 #define AXIS2_WSDL_DESC_GET_INCLUDES(wsdl_desc, env) \
00456 ((wsdl_desc)->ops->get_includes (wsdl_desc, env))
00457
00458 #define AXIS2_WSDL_DESC_SET_INCLUDES(wsdl_desc, env, includes) \
00459 ((wsdl_desc)->ops->set_includes (wsdl_desc, env, includes))
00460
00461 #define AXIS2_WSDL_DESC_ADD_INCLUDE(wsdl_desc, env, wsdl_include) \
00462 ((wsdl_desc)->ops->add_include (wsdl_desc, env, wsdl_include))
00463
00464
00465
00468 #ifdef __cplusplus
00469 }
00470 #endif
00471 #endif