axis2_wsdl_desc.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
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 /*************************** Function macros **********************************/
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 /*************************** End of function macros ***************************/
00465 
00468 #ifdef __cplusplus
00469 }
00470 #endif
00471 #endif  /* AXIS2_WSDL_DESC_H */

Generated on Tue Oct 3 20:47:59 2006 for Axis2/C by  doxygen 1.4.7