woden_wsdl10_soap_module_element.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 WODEN_WSDL10_SOAP_MODULE_ELEMENT_H
00018 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_H
00019 
00028 #include <axis2_allocator.h>
00029 #include <axis2_env.h>
00030 #include <axis2_error.h>
00031 #include <axis2_string.h>
00032 #include <axis2_utils.h>
00033 #include <axis2_hash.h>
00034 #include <axis2_qname.h>
00035 #include <axis2_uri.h>
00036 #include <axis2_array_list.h>
00037 #include <woden.h>
00038 #include <woden_ext_element.h>
00039 #include <woden_attr_extensible.h>
00040 #include <woden_element_extensible.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00047 typedef struct woden_wsdl10_soap_module_element woden_wsdl10_soap_module_element_t;
00048 typedef struct woden_wsdl10_soap_module_element_ops woden_wsdl10_soap_module_element_ops_t;
00049 typedef union woden_wsdl10_soap_module_element_base woden_wsdl10_soap_module_element_base_t;
00050 
00056 struct woden_wsdl10_soap_module_element_ops
00057 {
00062     axis2_status_t (AXIS2_CALL *
00063     free) (
00064             void *soap_module_element,
00065             const axis2_env_t *env);
00066  
00067     woden_obj_types_t (AXIS2_CALL *
00068     type) (
00069             void *soap_module_element,
00070             const axis2_env_t *env);
00071 
00072     axis2_status_t (AXIS2_CALL *
00073     set_ref) (
00074             void *soap_module_element,
00075             const axis2_env_t *env,
00076             axis2_uri_t *uri);
00077 
00078     axis2_uri_t *(AXIS2_CALL *
00079     get_ref) (
00080             void *soap_module_element,
00081             const axis2_env_t *env); 
00082  
00083     axis2_status_t (AXIS2_CALL *
00084     set_parent_element) (
00085             void *soap_module_element,
00086             const axis2_env_t *env,
00087             void *wsdl_el);
00088 
00089     void *(AXIS2_CALL *
00090     get_parent_element) (
00091             void *soap_module_element,
00092             const axis2_env_t *env); 
00093   
00094     axis2_status_t (AXIS2_CALL *
00095     add_documentation_element) (
00096             void *soap_module_element,
00097             const axis2_env_t *env,
00098             void *doc_el);
00099   
00100     axis2_status_t (AXIS2_CALL *
00101     set_soap_binding_op_exts) (
00102             void *soap_module_element,
00103             const axis2_env_t *env,
00104             void *soap_binding_op_exts);
00105 
00106     void *(AXIS2_CALL *
00107     get_soap_binding_op_exts) (
00108             void *soap_module_element,
00109             const axis2_env_t *env); 
00110  
00111     axis2_status_t (AXIS2_CALL *
00112     set_soap_address_exts) (
00113             void *soap_module_element,
00114             const axis2_env_t *env,
00115             void *soap_address_exts);
00116 
00117     void *(AXIS2_CALL *
00118     get_soap_address_exts) (
00119             void *soap_module_element,
00120             const axis2_env_t *env); 
00121 
00122 
00123     axis2_array_list_t *(AXIS2_CALL *
00124     get_documentation_elements) (
00125             void *soap_module_element,
00126             const axis2_env_t *env);
00127  
00128 };
00129 
00130 union woden_wsdl10_soap_module_element_base
00131 {
00132     woden_ext_element_t ext_element;
00133     woden_attr_extensible_t attr_extensible;
00134     woden_element_extensible_t element_extensible;
00135 };
00136 
00137 struct woden_wsdl10_soap_module_element
00138 {
00139     woden_wsdl10_soap_module_element_base_t base;
00140     woden_wsdl10_soap_module_element_ops_t *ops;
00141 };
00142 
00143 AXIS2_EXTERN woden_wsdl10_soap_module_element_t * AXIS2_CALL
00144 woden_wsdl10_soap_module_element_create(
00145         const axis2_env_t *env);
00146 
00147 /************************Woden C Internal Methods******************************/
00148 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149 woden_wsdl10_soap_module_element_resolve_methods(
00150         woden_wsdl10_soap_module_element_t *soap_module_element,
00151         const axis2_env_t *env,
00152         axis2_hash_t *methods);
00153 /************************End of Woden C Internal Methods***********************/
00154 
00155 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_FREE(soap_module_element, env) \
00156       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00157          free (soap_module_element, env))
00158 
00159 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_TYPE(soap_module_element, env) \
00160       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00161          type (soap_module_element, env))
00162 
00163 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_SET_REF(soap_module_element, env, uri) \
00164       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00165          set_ref (soap_module_element, env, uri))
00166 
00167 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_GET_REF(soap_module_element, env) \
00168       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00169         get_ref  (soap_module_element, env))
00170 
00171 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_SET_PARENT_ELEMENT(soap_module_element, env, wsdl_el) \
00172       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00173          set_parent_element (soap_module_element, env, wsdl_el))
00174 
00175 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_GET_PARENT_ELEMENT(soap_module_element, env) \
00176       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00177         get_parent_element  (soap_module_element, env))
00178 
00179 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_ADD_DOCUMENTATION_ELEMENT(soap_module_element, env, doc_el) \
00180       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00181         add_documentation_element  (soap_module_element, env, doc_el))
00182 
00183 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_GET_DOCUMENTATION_ELEMENTS(soap_module_element, env) \
00184       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00185         get_documentation_elements  (soap_module_element, env))
00186 
00187 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_SET_SOAP_ADDRESS_EXTS(soap_module_element, env, doc_el) \
00188       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00189         set_soap_address_exts  (soap_module_element, env, doc_el))
00190 
00191 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_GET_SOAP_ADDRESS_EXTS(soap_module_element, env) \
00192       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00193         get_soap_address_exts  (soap_module_element, env))
00194 
00195 
00196 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_SET_SOAP_BINDING_OP_EXTS(soap_module_element, env, doc_el) \
00197       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00198         set_soap_binding_op_exts  (soap_module_element, env, doc_el))
00199 
00200 #define WODEN_WSDL10_SOAP_MODULE_ELEMENT_GET_SOAP_BINDING_OP_EXTS(soap_module_element, env) \
00201       (((woden_wsdl10_soap_module_element_t *) soap_module_element)->ops->\
00202         get_soap_binding_op_exts  (soap_module_element, env))
00203 
00205 #ifdef __cplusplus
00206 }
00207 #endif
00208 #endif /* WODEN_WSDL10_SOAP_MODULE_ELEMENT_H */

Generated on Thu Aug 31 17:32:37 2006 for Axis2/C by  doxygen 1.4.6