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