woden_wsdl10_soap_module.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 WODEN_WSDL10_SOAP_MODULE_H
00019 #define WODEN_WSDL10_SOAP_MODULE_H
00020 
00029 #include <woden.h>
00030 #include <woden_wsdl10_soap_module_element.h>
00031 
00037 typedef union woden_wsdl10_soap_module_base woden_wsdl10_soap_module_base_t;
00038 typedef struct woden_wsdl10_soap_module woden_wsdl10_soap_module_t;
00039 typedef struct woden_wsdl10_soap_module_ops woden_wsdl10_soap_module_ops_t;
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00046 struct woden_wsdl10_soap_module_ops
00047 {
00052     axis2_status_t (AXIS2_CALL * 
00053     free) (
00054             void *module,
00055             const axis2_env_t *env);
00056 
00057     axis2_hash_t *(AXIS2_CALL * 
00058     super_objs) (
00059             void *module,
00060             const axis2_env_t *env);
00061 
00062     woden_obj_types_t (AXIS2_CALL * 
00063     type) (
00064             void *module,
00065             const axis2_env_t *env);
00066 
00067     struct woden_component_exts *(AXIS2_CALL *
00068     get_base_impl) (
00069             void *module,
00070             const axis2_env_t *env);
00071 
00072 
00073     /* ***********************************************************************
00074      *  Component model methods (SOAPHeaderBlock interface), some shared with Element model
00075      * ***********************************************************************/
00076 
00077     axis2_uri_t *(AXIS2_CALL *
00078     get_ref) (
00079             void *module,
00080             axis2_env_t *env);
00081 
00082     axis2_bool_t (AXIS2_CALL * 
00083     is_required) (
00084             void *module,
00085             axis2_env_t *env);
00086 
00087     void *(AXIS2_CALL *
00088     get_parent) (
00089             void *module,
00090             axis2_env_t *env);
00091 
00092     void *(AXIS2_CALL *
00093     to_element) (
00094             void *module,
00095             axis2_env_t *env);
00096 
00097 };
00098 
00099 struct woden_wsdl10_soap_module
00100 {
00101     woden_wsdl10_soap_module_element_t module_element;
00102     woden_wsdl10_soap_module_ops_t *ops;
00103 };
00104 
00105 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00106 woden_wsdl10_soap_module_create(
00107         const axis2_env_t *env);
00108 
00109 
00110 /***************************Woden C Internal Methods***************************/
00111 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00112 woden_wsdl10_soap_module_to_soap_module_element(
00113         void *module,
00114         const axis2_env_t *env);
00115 
00116 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00117 woden_wsdl10_soap_module_to_ext_element(
00118         void *module,
00119         const axis2_env_t *env);
00120 
00121 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00122 woden_wsdl10_soap_module_to_attr_extensible(
00123         void *module,
00124         const axis2_env_t *env);
00125 
00126 AXIS2_EXTERN woden_wsdl10_soap_module_t * AXIS2_CALL
00127 woden_wsdl10_soap_module_to_element_extensible(
00128         void *module,
00129         const axis2_env_t *env);
00130 
00131 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00132 woden_wsdl10_soap_module_resolve_methods(
00133         woden_wsdl10_soap_module_t *soap_module,
00134         const axis2_env_t *env,
00135         woden_wsdl10_soap_module_t *soap_module_impl,
00136         axis2_hash_t *methods);
00137 /************************End of Woden C Internal Methods***********************/
00138 
00139 #define WODEN_WSDL10_SOAP_MODULE_FREE(soap_module, env) \
00140       (((woden_wsdl10_soap_module_t *) soap_module)->ops->free(soap_module, env))
00141 
00142 #define WODEN_WSDL10_SOAP_MODULE_SUPER_OBJS(soap_module, env) \
00143       (((woden_wsdl10_soap_module_t *) soap_module)->ops->super_objs(soap_module, env))
00144 
00145 #define WODEN_WSDL10_SOAP_MODULE_TYPE(soap_module, env) \
00146       (((woden_wsdl10_soap_module_t *) soap_module)->ops->type(soap_module, env))
00147 
00148 #define WODEN_WSDL10_SOAP_MODULE_GET_BASE_IMPL(soap_module, env) \
00149       (((woden_wsdl10_soap_module_t *) soap_module)->ops->get_base_impl(soap_module, env))
00150 
00151 #define WODEN_WSDL10_SOAP_MODULE_GET_REF(soap_module, env) \
00152       (((woden_wsdl10_soap_module_t *) soap_module)->\
00153         get_ref (soap_module, env))
00154 
00155 #define WODEN_WSDL10_SOAP_MODULE_IS_REQUIRED(soap_module, env) \
00156       (((woden_wsdl10_soap_module_t *) soap_module)->\
00157         is_required (soap_module, env))
00158 
00159 #define WODEN_WSDL10_SOAP_MODULE_GET_PARENT(soap_module, env) \
00160       (((woden_wsdl10_soap_module_t *) soap_module)->\
00161         get_parent (soap_module, env))
00162 
00163 #define WODEN_WSDL10_SOAP_MODULE_TO_ELEMENT(soap_module, env) \
00164       (((woden_wsdl10_soap_module_t *) soap_module)->\
00165         to_element (soap_module, env))
00166 
00168 #ifdef __cplusplus
00169 }
00170 #endif
00171 #endif /* WODEN_WSDL10_SOAP_MODULE_H */

Generated on Wed Dec 20 20:34:50 2006 for Axis2/C by  doxygen 1.5.1