axis2_wsdl_desc.h

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

Generated on Wed Dec 20 20:14:10 2006 for Axis2/C by  doxygen 1.5.1