woden_wsdl10_part_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_PART_ELEMENT_H
00018 #define WODEN_WSDL10_PART_ELEMENT_H
00019 
00027 #include <axis2_allocator.h>
00028 #include <axis2_env.h>
00029 #include <axis2_error.h>
00030 #include <axis2_string.h>
00031 #include <axis2_utils.h>
00032 #include <axis2_hash.h>
00033 #include <axis2_qname.h>
00034 #include <axis2_uri.h>
00035 #include <axis2_array_list.h>
00036 #include <woden.h>
00037 #include <woden_documentable_element.h>
00038 #include <woden_configurable_element.h>
00039 #include <woden_nested_element.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00046 typedef struct woden_wsdl10_part_element woden_wsdl10_part_element_t;
00047 typedef struct woden_wsdl10_part_element_ops woden_wsdl10_part_element_ops_t;
00048 typedef union woden_wsdl10_part_element_base woden_wsdl10_part_element_base_t;
00049 
00055 struct woden_wsdl10_part_element_ops
00056 {
00061     axis2_status_t (AXIS2_CALL *
00062     free) (
00063             void *part_element,
00064             const axis2_env_t *env);
00065  
00066     woden_obj_types_t (AXIS2_CALL *
00067     type) (
00068             void *part_element,
00069             const axis2_env_t *env);
00070     
00078     axis2_status_t (AXIS2_CALL *
00079     set_element_qname) (
00080             void *iface_fault_ele,
00081             const axis2_env_t *env,
00082             axis2_qname_t *element);
00083 
00084     axis2_qname_t *(AXIS2_CALL *
00085     get_element_qname) (
00086             void *iface_fault_ele,
00087             const axis2_env_t *env);
00088     
00099     void *(AXIS2_CALL *
00100     get_element) (
00101             void *iface_fault_ele,
00102             const axis2_env_t *env);
00103     
00104     axis2_status_t (AXIS2_CALL *
00105     set_qname) (
00106             void *iface_fault_ele,
00107             const axis2_env_t *env,
00108             axis2_qname_t *qname);
00109 
00110     axis2_qname_t *(AXIS2_CALL *
00111     get_qname) (
00112             void *iface_fault_ele,
00113             const axis2_env_t *env);
00114     
00115 
00116 };
00117 
00118 union woden_wsdl10_part_element_base
00119 {
00120     woden_documentable_element_t documentable_element;
00121     woden_configurable_element_t configurable_element;
00122     woden_nested_element_t nested_element;
00123 };
00124 
00125 struct woden_wsdl10_part_element
00126 {
00127     woden_wsdl10_part_element_base_t base;
00128     woden_wsdl10_part_element_ops_t *ops;
00129 };
00130 
00131 AXIS2_EXTERN woden_wsdl10_part_element_t * AXIS2_CALL
00132 woden_wsdl10_part_element_create(
00133         const axis2_env_t *env);
00134 
00135 /************************Woden C Internal Methods******************************/
00136 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137 woden_wsdl10_part_element_resolve_methods(
00138         woden_wsdl10_part_element_t *part_element,
00139         const axis2_env_t *env,
00140         axis2_hash_t *methods);
00141 /************************End of Woden C Internal Methods***********************/
00142 
00143 #define WODEN_WSDL10_PART_ELEMENT_FREE(part_element, env) \
00144       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00145          free (part_element, env))
00146 
00147 #define WODEN_WSDL10_PART_ELEMENT_TYPE(part_element, env) \
00148       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00149          type (part_element, env))
00150 
00151 #define WODEN_WSDL10_PART_ELEMENT_SET_ELEMENT_QNAME(part_element, env, element) \
00152       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00153         set_element_qname  (part_element, env, element))
00154 
00155 #define WODEN_WSDL10_PART_ELEMENT_GET_ELEMENT_QNAME(part_element, env) \
00156       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00157         get_element_qname  (part_element, env))
00158 
00159 #define WODEN_WSDL10_PART_ELEMENT_GET_ELEMENT(part_element, env) \
00160       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00161         get_element  (part_element, env))
00162 
00163 #define WODEN_WSDL10_PART_ELEMENT_SET_QNAME(part_element, env, qname) \
00164       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00165          set_qname (part_element, env, qname))
00166 
00167 #define WODEN_WSDL10_PART_ELEMENT_GET_QNAME(part_element, env) \
00168       (((woden_wsdl10_part_element_t *) part_element)->ops->\
00169          get_qname (part_element, env))
00170 
00171 
00172 
00173 
00175 #ifdef __cplusplus
00176 }
00177 #endif
00178 #endif /* WODEN_WSDL10_PART_ELEMENT_H */

Generated on Tue Oct 3 22:35:48 2006 for Axis2/C by  doxygen 1.4.7