You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2006/07/06 08:02:31 UTC

svn commit: r419452 [6/46] - in /webservices/axis2/trunk/c/woden: ./ include/ samples/ samples/wsdl10/ src/ src/builder/ src/builder/wsdl10/ src/schema/ src/types/ src/util/ src/wsdl/ src/wsdl/enumeration/ src/wsdl10/ src/wsdl10/enumeration/ src/wsdl10...

Added: webservices/axis2/trunk/c/woden/include/woden_qname_list_or_token_any_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_qname_list_or_token_any_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_qname_list_or_token_any_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_qname_list_or_token_any_attr.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,201 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_H
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_H
+
+/**
+ * @file woden_qname_list_or_token_any_attr.h
+ * @brief Axis2 QName List or Token Any Attribute Interface
+ *          This class represents XML attribute information items of type
+ * "        Union of list of QName or xs:token #any"
+ *          (e.g. the wsoap:subcodes extension attribute of binding fault).
+ */
+
+#include <woden.h>
+#include <woden_xml_attr.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_qname_list_or_token_any_attr QName List or Token Any Attribute
+  * @ingroup woden
+  * @{
+  */
+
+typedef struct woden_qname_list_or_token_any_attr 
+        woden_qname_list_or_token_any_attr_t;
+typedef struct woden_qname_list_or_token_any_attr_ops 
+        woden_qname_list_or_token_any_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_qname_list_or_token_any_attr_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_qname_list_or_token_any_attr_free) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+
+    /**
+     * @return the base implementation class
+     */
+    woden_xml_attr_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  QNameAttr interface declared methods 
+     * ************************************************************/
+
+    axis2_bool_t (AXIS2_CALL *
+    is_qname_list) (
+            void *list_token_attr,
+            const axis2_env_t *env); 
+
+    axis2_bool_t (AXIS2_CALL *
+    is_token) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_qnames) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_token) (
+            void *list_token_attr,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Non-API implementation methods 
+     * ************************************************************/
+
+    /*
+     * Convert a string of type "Union of list of xs:QName or xs:token #any" to a 
+     * axis2_qname_t or  array or a String.
+     * A null argument will return a null value.
+     * Any conversion error will be reported and a null value will be returned.
+     */
+    void *(AXIS2_CALL *
+    convert) (
+            void *list_token_attr,
+            const axis2_env_t *env,
+            struct axiom_element *owner_el,
+            struct axiom_node *owner_node,
+            axis2_char_t *attr_value);
+
+};
+
+struct woden_qname_list_or_token_any_attr
+{
+    woden_xml_attr_t base;
+    woden_qname_list_or_token_any_attr_ops_t *ops;
+};
+
+/*
+ * TODO This constructor is not used for extension attributes, but may be useful if
+ * parsing of native WSDL attributes is changed to use the XMLAttr interface.
+ */
+AXIS2_EXTERN woden_qname_list_or_token_any_attr_t * AXIS2_CALL
+woden_qname_list_or_token_any_attr_create(
+        const axis2_env_t *env,
+        struct axiom_element *owner_el,
+        struct axiom_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
+
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_qname_list_or_token_any_attr_resolve_methods(
+        woden_qname_list_or_token_any_attr_t *list_token_attr,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_FREE(list_token_attr, env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->free(list_token_attr, env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_TO_QNAME_LIST_OR_TOKEN_ANY_ATTR_FREE(\
+        list_token_attr, env) \
+      (((woden_qname_list_or_token_any_attr_t *) list_token_attr)->ops->\
+         to_qname_list_or_token_any_attr_free(list_token_attr, env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_TYPE(list_token_attr, env) \
+      (((woden_qname_list_or_token_any_attr_t *) list_token_attr)->ops->\
+         type(list_token_attr, env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_GET_BASE_IMPL(list_token_attr, \
+        env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->get_base_impl(list_token_attr, \
+                                                          env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_IS_QNAME_LIST(list_token_attr, \
+        env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->is_qname_list(list_token_attr, \
+                                                            env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_IS_TOKEN(list_token_attr, env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->is_token(list_token_attr, \
+                                                       env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_GET_QNAMES(list_token_attr, \
+        env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->get_qnames(list_token_attr, \
+                                                         env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_GET_TOKEN(list_token_attr, \
+        env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->get_token(list_token_attr, \
+                                                         env))
+
+#define WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_CONVERT(list_token_attr, env) \
+      (((woden_qname_list_or_token_any_attr_t *) \
+          list_token_attr)->ops->convert(list_token_attr, \
+                                                      env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_QNAME_LIST_OR_TOKEN_ANY_ATTR_H */

Added: webservices/axis2/trunk/c/woden/include/woden_qname_or_token_any_attr.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_qname_or_token_any_attr.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_qname_or_token_any_attr.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_qname_or_token_any_attr.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_QNAME_OR_TOKEN_ANY_ATTR_H
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_H
+
+/**
+ * @file woden_qname_or_token_any_attr.h
+ * @brief Axis2 QName or Token Any Attribute Interface
+ *          This class represents XML attribute information items of type
+ *          "Union of QName or xs:token #any"
+ *          (e.g. the wsoap:code extension attribute of binding fault).
+ */
+
+#include <woden.h>
+#include <woden_xml_attr.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_qname_or_token_any_attr QName or Token Any Attribute
+  * @ingroup woden
+  * @{
+  */
+
+typedef struct woden_qname_or_token_any_attr 
+        woden_qname_or_token_any_attr_t;
+typedef struct woden_qname_or_token_any_attr_ops 
+        woden_qname_or_token_any_attr_ops_t;
+struct axiom_element;
+struct axiom_node;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_qname_or_token_any_attr_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *token_attr,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    to_qname_or_token_any_attr_free) (
+            void *token_attr,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *token_attr,
+            const axis2_env_t *env);
+
+    /**
+     * @return the base implementation class
+     */
+    woden_xml_attr_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *token_attr,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  QNameAttr interface declared methods 
+     * ************************************************************/
+
+    axis2_bool_t (AXIS2_CALL *
+    is_qname) (
+            void *token_attr,
+            const axis2_env_t *env); 
+
+    axis2_bool_t (AXIS2_CALL *
+    is_token) (
+            void *token_attr,
+            const axis2_env_t *env);
+
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *token_attr,
+            const axis2_env_t *env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_token) (
+            void *token_attr,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Non-API implementation methods 
+     * ************************************************************/
+   
+    /*
+     * Convert a string of type "Union of xs:QName or xs:token #any" to a 
+     * axis2_qname_t or a axis2_char_t.
+     * A null argument will return a null value.
+     * Any conversion error will be reported and a null value will be returned.
+     */
+    void *(AXIS2_CALL *
+    convert) (
+            void *token_attr,
+            const axis2_env_t *env,
+            struct axiom_element *owner_el,
+            struct axiom_node *owner_node,
+            axis2_char_t *attr_value);
+
+};
+
+struct woden_qname_or_token_any_attr
+{
+    woden_xml_attr_t base;
+    woden_qname_or_token_any_attr_ops_t *ops;
+};
+
+/*
+ * TODO This constructor is not used for extension attributes, but may be useful if
+ * parsing of native WSDL attributes is changed to use the XMLAttr interface.
+ */
+AXIS2_EXTERN woden_qname_or_token_any_attr_t * AXIS2_CALL
+woden_qname_or_token_any_attr_create(
+        const axis2_env_t *env,
+        struct axiom_element *owner_el,
+        struct axiom_node *owner_node,
+        axis2_qname_t *attr_type,
+        axis2_char_t *attr_value);
+
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_qname_or_token_any_attr_resolve_methods(
+        woden_qname_or_token_any_attr_t *token_attr,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_FREE(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) \
+          token_attr)->ops->free(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_TYPE(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) token_attr)->ops->\
+         type(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_GET_BASE_IMPL(token_attr, \
+        env) \
+      (((woden_qname_or_token_any_attr_t *) token_attr)->ops->\
+         get_base_impl(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_IS_QNAME(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) token_attr)->ops->\
+         is_qname(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_IS_TOKEN(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) \
+          token_attr)->ops->is_token(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_GET_QNAME(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) token_attr)->ops->\
+         get_qname(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_GET_TOKEN(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) token_attr)->ops->\
+         get_token(token_attr, env))
+
+#define WODEN_QNAME_OR_TOKEN_ANY_ATTR_CONVERT(token_attr, env) \
+      (((woden_qname_or_token_any_attr_t *) token_attr)->ops->\
+         convert(token_attr, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_QNAME_OR_TOKEN_ANY_ATTR_H */

Added: webservices/axis2/trunk/c/woden/include/woden_qname_util.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_qname_util.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_qname_util.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_qname_util.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef AXIS2_QNAME_UTIL_H
+#define AXIS2_QNAME_UTIL_H
+
+#include <axis2_qname.h>
+#include <axiom.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+AXIS2_EXTERN axis2_bool_t AXIS2_CALL
+axis2_qname_util_matches(
+        const axis2_env_t *env,
+        axis2_qname_t *qname,
+        axiom_node_t *node);
+        
+AXIS2_EXTERN axis2_qname_t * AXIS2_CALL
+axis2_qname_util_new_qname(
+        const axis2_env_t *env,
+        axiom_node_t *node);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_QNAME_UTIL_H */

Added: webservices/axis2/trunk/c/woden/include/woden_reader.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_reader.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_reader.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_reader.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_READER_H
+#define WODEN_READER_H
+
+/**
+ * @file woden_reader.h
+ * @brief Woden Wsdl Reader Interface
+ * Implements the wsdl_reader behaviour for AXIOM-based parsing.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_ext_registry.h>
+#include <axiom_document.h>
+
+/** @defgroup woden_reader Woden Wsdl Reader
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_reader_base woden_reader_base_t;
+typedef struct woden_reader woden_reader_t;
+typedef struct woden_reader_ops woden_reader_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_reader_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *reader,
+            const axis2_env_t *env);
+ 
+    void *(AXIS2_CALL *
+    read_wsdl) (
+            void *reader,
+            const axis2_env_t *env,
+            axiom_document_t *om_doc,
+            const axis2_char_t *uri);
+
+    axis2_status_t (AXIS2_CALL *
+    set_ext_registry) (
+            void *reader,
+            const axis2_env_t *env,
+            woden_ext_registry_t *ext_reg);
+
+    woden_ext_registry_t *(AXIS2_CALL *
+    get_ext_registry) (
+            void *reader,
+            const axis2_env_t *env);
+
+   
+};
+
+struct woden_reader
+{
+    woden_reader_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_reader_t * AXIS2_CALL
+woden_reader_create(
+        const axis2_env_t *env);
+
+#define WODEN_READER_FREE(reader, env) \
+      (((woden_reader_t *) reader)->ops->free(reader, env))
+
+#define WODEN_READER_READ_WSDL(reader, env, om_doc, uri) \
+      (((woden_reader_t *) reader)->ops->\
+      read_wsdl (reader, env, om_doc, uri))
+
+#define WODEN_READER_SET_EXT_REGISTRY(reader, env, ext_reg) \
+      (((woden_reader_t *) reader)->ops->\
+      set_ext_registry (reader, env, ext_reg))
+
+#define WODEN_READER_GET_EXT_REGISTRY(reader, env) \
+      (((woden_reader_t *) reader)->ops->\
+       get_ext_registry(reader, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_READER_H */

Added: webservices/axis2/trunk/c/woden/include/woden_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_schema.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_schema.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_schema.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,183 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SCHEMA_H
+#define WODEN_SCHEMA_H
+
+/**
+ * @file woden_schema.h
+ * @brief Axis2 Schema Interface
+ *          Abstract implementation of an XML Schema.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_uri.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_schema woden_schema_t;
+typedef struct woden_schema_ops woden_schema_ops_t;
+struct xml_schema;
+
+/** @defgroup woden_schema Schema
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_schema_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *schema,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *schema,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *schema,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_namespace) (
+            void *schema,
+            const axis2_env_t *env,
+            axis2_uri_t *namespc);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_namespace) (
+            void *schema,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_schema_def) (
+            void *schema,
+            const axis2_env_t *env,
+            struct xml_schema *schema_def);
+
+    struct xml_schema *(AXIS2_CALL *
+    get_schema_def) (
+            void *schema,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Non-API implementation methods
+     * ************************************************************/
+
+    /* 
+     * Indicates whether the schema is referenceable by the containing WSDL, as
+     * defined by the WSDL 2.0 spec. In brief, a schema is referenceable if it is 
+     * inlined directly under &lt;types&gt; and has a target namespace or if it is
+     * resolved from a schema import directly under &lt;types&gt; and the import 
+     * namespace matches the schema's target namespace.
+     * So for example, when the API is used to retrieve the schema element 
+     * declaration identified by a QName attribute, the implementation checks this
+     * referenceable property to determine which schemas can be used to resolve the 
+     * qname. 
+     * Referenceability is determined during validation. If the validation feature
+     * is disabled, any inlined or imported schema will be considered referenceable.
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_referenceable) (
+            void *schema,
+            const axis2_env_t *env,
+            axis2_bool_t referenceable);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_referenceable) (
+            void *schema,
+            const axis2_env_t *env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_namespace_as_string) (
+            void *schema,
+            const axis2_env_t *env);
+
+  
+};
+
+struct woden_schema
+{
+    woden_schema_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_schema_t * AXIS2_CALL
+woden_schema_create(const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_schema_resolve_methods(
+        woden_schema_t *schema,
+        const axis2_env_t *env,
+        woden_schema_t *schema_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SCHEMA_FREE(schema, env) \
+      (((woden_schema_t *) schema)->ops->free (schema, env))
+
+#define WODEN_SCHEMA_SUPER_OBJS(schema, env) \
+      (((woden_schema_t *) schema)->ops->super_objs (schema, env))
+
+#define WODEN_SCHEMA_TYPE(schema, env) \
+      (((woden_schema_t *) schema)->ops->type (schema, env))
+
+#define WODEN_SCHEMA_SET_NAMESPACE(schema, env, namespc) \
+      (((woden_schema_t *) schema)->ops->set_namespace(schema, env, \
+                                                               namespc))
+
+#define WODEN_SCHEMA_GET_NAMESPACE(schema, env) \
+      (((woden_schema_t *) schema)->ops->get_namespace(schema, env))
+
+#define WODEN_SCHEMA_SET_SCHEMA_DEF(schema, env, schema_def) \
+      (((woden_schema_t *) schema)->ops->set_schema_def(schema, env, \
+                                                                schema_def))
+
+#define WODEN_SCHEMA_GET_SCHEMA_DEF(schema, env) \
+      (((woden_schema_t *) schema)->ops->get_schema_def(schema, env))
+
+#define WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, referenceable) \
+      (((woden_schema_t *) schema)->ops->set_referenceable(schema, env, \
+                                                             referenceable))
+
+#define WODEN_SCHEMA_IS_REFERENCEABLE(schema, env) \
+      (((woden_schema_t *) schema)->ops->is_referenceable(schema, env))
+
+#define WODEN_SCHEMA_GET_NAMESPACE_AS_STRING(schema, env) \
+      (((woden_schema_t *) schema)->ops->get_namespace_as_string(schema, \
+                                                                         env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SCHEMA_H */

Added: webservices/axis2/trunk/c/woden/include/woden_schema_constants.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_schema_constants.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_schema_constants.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_schema_constants.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+#ifndef WODEN_SCHEMA_CONSTANTS_H
+#define WODEN_SCHEMA_CONSTANTS_H
+
+/**
+ * @file axis2_schema_constants.h
+ * @brief Axis2 Xml Schema Constants
+ *          Constants for XML Schema elements, attributes and URIs.
+ */
+ 
+#include <axis2_utils.h>
+#include <axis2_qname.h>
+
+#ifdef __cplusplus
+extern "C" 
+{
+#endif
+    
+/** @defgroup woden_schema_constants 
+  * @ingroup woden_schema
+  * @{
+  */
+/*********************************** Constansts********************************/
+
+
+/* Schema attribute names */
+#define WODEN_ATTR_ID "id"
+#define WODEN_ATTR_SCHEMA_LOCATION "schemaLocation"
+
+/* Schema element names */
+#define WODEN_ELEM_SCHEMA "schema"
+#define WODEN_ELEM_SCHEMA_IMPORT "import"
+#define WODEN_ELEM_SCHEMA_INCLUDE "include"
+#define WODEN_ELEM_SCHEMA_REDEFINE "redefine"
+
+/* Schema uri */
+#define WODEN_NS_URI_XSD_1999 "http://www.w3.org/1999/XMLSchema"
+#define WODEN_NS_URI_XSD_2000 "http://www.w3.org/2000/10/XMLSchema"
+#define WODEN_NS_URI_XSD_2001 "http://www.w3.org/2001/XMLSchema"
+
+/* <xs:schema> qnames */
+#define WODEN_Q_ELEM_XSD_1999 "schema|http://www.w3.org/1999/XMLSchema"
+#define WODEN_Q_ELEM_XSD_2000 "schema|http://www.w3.org/2000/10/XMLSchema"
+#define WODEN_Q_ELEM_XSD_2001 "schema|http://www.w3.org/2001/XMLSchema"
+
+/* <xs:import> qnames */
+#define WODEN_Q_ELEM_IMPORT_XSD_1999 "import|http://www.w3.org/1999/XMLSchema"
+#define WODEN_Q_ELEM_IMPORT_XSD_2000 "import|http://www.w3.org/2000/10/XMLSchema"
+#define WODEN_Q_ELEM_IMPORT_XSD_2001 "import|http://www.w3.org/2001/XMLSchema"
+
+/* TODO remove <include> if not used in Woden */
+/* <xs:include> qnames */
+#define WODEN_Q_ELEM_INCLUDE_XSD_1999 "include|http://www.w3.org/1999/XMLSchema"
+#define WODEN_Q_ELEM_INCLUDE_XSD_2000 "include|http://www.w3.org/2000/10/XMLSchema"
+#define WODEN_Q_ELEM_INCLUDE_XSD_2001 "include|http://www.w3.org/2001/XMLSchema"
+
+/* TODO remove <redefine> if not used in Woden */
+/* <xs:redefine> qnames */
+#define WODEN_Q_ELEM_REDEFINE_XSD_1999 "redefine|http://www.w3.org/1999/XMLSchema"
+#define WODEN_Q_ELEM_REDEFINE_XSD_2000 "redefine|http://www.w3.org/2000/10/XMLSchema"
+#define WODEN_Q_ELEM_REDEFINE_XSD_2001 "redefine|http://www.w3.org/2001/XMLSchema"
+
+
+/*********************************** Constants*********************************/   
+   
+axis2_bool_t AXIS2_CALL
+woden_schema_constants_compare_schema(
+        axis2_qname_t *schema, 
+        const axis2_env_t *env);
+   
+axis2_bool_t AXIS2_CALL
+woden_schema_constants_compare_include(
+        axis2_qname_t *include, 
+        const axis2_env_t *env);
+   
+axis2_bool_t AXIS2_CALL
+woden_schema_constants_compare_import(
+        axis2_qname_t *import, 
+        const axis2_env_t *env);
+   
+axis2_bool_t AXIS2_CALL
+woden_schema_constants_compare_redefine(
+        axis2_qname_t *redefine, 
+        const axis2_env_t *env);
+   
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WODEN_SCHEMA_CONSTANTS_H */
+
+

Added: webservices/axis2/trunk/c/woden/include/woden_soap_binding_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_binding_exts.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_binding_exts.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_binding_exts.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_BINDING_EXTS_H
+#define WODEN_SOAP_BINDING_EXTS_H
+
+/**
+ * @file woden_soap_binding_exts.h
+ * @brief Axis2 Soap Binding Extensions Interface
+ * This interface represents the properties from the SOAP namespace
+ * added to the WSDL 2.0 <code>Binding</code> component as part 
+ * of the SOAP binding extension. 
+ * <p>
+ * These include:
+ * <ul>
+ * <li>{soap version}</li>
+ * <li>{soap underlying protocol}</li>
+ * <li>{soap mep default}</li>
+ * <li>{soap modules}</li>
+ * </ul> 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_component_exts.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_soap_binding_exts Soap Binding Extensions
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_soap_binding_exts_base woden_soap_binding_exts_base_t;
+typedef struct woden_soap_binding_exts woden_soap_binding_exts_t;
+typedef struct woden_soap_binding_exts_ops woden_soap_binding_exts_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_binding_exts_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *soap_binding_exts,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *soap_binding_exts,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *soap_binding_exts,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_component_exts *(AXIS2_CALL *
+    get_base_impl) (
+            void *soap_binding_exts,
+            const axis2_env_t *env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_soap_version) (
+            void *binding_exts,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_soap_underlying_protocol) (
+            void *binding_exts,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_soap_mep_default) (
+            void *binding_exts,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_modules) (
+            void *binding_exts,
+            const axis2_env_t *env); 
+
+
+};
+
+struct woden_soap_binding_exts
+{
+    woden_component_exts_t component_exts;
+    woden_soap_binding_exts_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_binding_exts_t * AXIS2_CALL
+woden_soap_binding_exts_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_binding_exts_t * AXIS2_CALL
+woden_soap_binding_exts_to_component_exts(
+        void *soap_binding_exts,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_binding_exts_resolve_methods(
+        woden_soap_binding_exts_t *soap_binding_exts,
+        const axis2_env_t *env,
+        woden_soap_binding_exts_t *soap_binding_exts_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_BINDING_EXTS_FREE(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->free(soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_SUPER_OBJS(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->super_objs(soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_TYPE(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->type(soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_GET_BASE_IMPL(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->get_base_impl(soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_GET_SOAP_VERSION(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
+        get_soap_version (soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_GET_SOAP_UNDERLYING_PROTOCOL(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
+        get_soap_underlying_protocol (soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_GET_SOAP_MEP_DEFAULT(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
+        get_soap_mep_default (soap_binding_exts, env))
+
+#define WODEN_SOAP_BINDING_EXTS_GET_SOAP_MODULES(soap_binding_exts, env) \
+      (((woden_soap_binding_exts_t *) soap_binding_exts)->ops->\
+        get_soap_modules (soap_binding_exts, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_BINDING_EXTS_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_exts.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_exts.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_exts.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_BINDING_FAULT_EXTS_H
+#define WODEN_SOAP_BINDING_FAULT_EXTS_H
+
+/**
+ * @file woden_soap_binding_fault_exts.h
+ * @brief Axis2 Soap Binding Fault Extensions Interface
+ * This interface represents the properties from the SOAP namespace
+ * added to the WSDL 2.0 <code>BindingFault</code> component as part 
+ * of the SOAP binding extension.
+ * <p>
+ * These include:
+ * <ul>
+ * <li>{soap fault code}</li>
+ * <li>{soap fault subcodes}</li>
+ * <li>{soap modules}</li>
+ * <li>{soap headers}</li>
+ * </ul> 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_component_exts.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_soap_binding_fault_exts Soap Binding Fault Extensions
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_soap_binding_fault_exts_base woden_soap_binding_fault_exts_base_t;
+typedef struct woden_soap_binding_fault_exts woden_soap_binding_fault_exts_t;
+typedef struct woden_soap_binding_fault_exts_ops woden_soap_binding_fault_exts_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_binding_fault_exts_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *soap_binding_fault_exts,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *soap_binding_fault_exts,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *soap_binding_fault_exts,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_component_exts *(AXIS2_CALL *
+    get_base_impl) (
+            void *soap_binding_fault_exts,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_soap_fault_code) (
+            void *binding_fault_exts,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_soap_fault_subcodes) (
+            void *binding_fault_exts,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_modules) (
+            void *binding_fault_exts,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_headers) (
+            void *binding_fault_exts,
+            const axis2_env_t *env); 
+
+
+};
+
+struct woden_soap_binding_fault_exts
+{
+    woden_component_exts_t component_exts;
+    woden_soap_binding_fault_exts_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_binding_fault_exts_t * AXIS2_CALL
+woden_soap_binding_fault_exts_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_binding_fault_exts_t * AXIS2_CALL
+woden_soap_binding_fault_exts_to_component_exts(
+        void *soap_binding_fault_exts,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_binding_fault_exts_resolve_methods(
+        woden_soap_binding_fault_exts_t *soap_binding_fault_exts,
+        const axis2_env_t *env,
+        woden_soap_binding_fault_exts_t *soap_binding_fault_exts_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_FREE(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->free(soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_SUPER_OBJS(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->super_objs(soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_TYPE(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->type(soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_GET_BASE_IMPL(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->get_base_impl(soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_GET_SOAP_FAULT_CODE(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->\
+        get_soap_fault_code (soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_GET_SOAP_FAULT_SUBCODES(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->\
+        get_soap_fault_subcodes (soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_GET_SOAP_MODULES(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->\
+        get_soap_modules (soap_binding_fault_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_EXTS_GET_SOAP_HEADERS(soap_binding_fault_exts, env) \
+      (((woden_soap_binding_fault_exts_t *) soap_binding_fault_exts)->ops->\
+        get_soap_headers (soap_binding_fault_exts, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_BINDING_FAULT_EXTS_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_ref_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_ref_exts.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_ref_exts.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_binding_fault_ref_exts.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_BINDING_FAULT_REF_EXTS_H
+#define WODEN_SOAP_BINDING_FAULT_REF_EXTS_H
+
+/**
+ * @file woden_soap_binding_fault_ref_exts.h
+ * @brief Axis2 Soap Binding Fault Reference Extensions Interface
+ * This interface represents the properties from the SOAP namespace
+ * added to the WSDL 2.0 <code>binding_fault_ref</code> component as part 
+ * of the SOAP binding extension.
+ * <p>
+ * These include:
+ * <ul>
+ * <li>{soap modules}</li>
+ * </ul> 
+ * 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_component_exts.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_soap_binding_fault_ref_exts Soap Binding Fault Reference Extensions
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_soap_binding_fault_ref_exts_base woden_soap_binding_fault_ref_exts_base_t;
+typedef struct woden_soap_binding_fault_ref_exts woden_soap_binding_fault_ref_exts_t;
+typedef struct woden_soap_binding_fault_ref_exts_ops woden_soap_binding_fault_ref_exts_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_binding_fault_ref_exts_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *soap_binding_fault_ref_exts,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *soap_binding_fault_ref_exts,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *soap_binding_fault_ref_exts,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_component_exts *(AXIS2_CALL *
+    get_base_impl) (
+            void *soap_binding_fault_ref_exts,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_modules) (
+            void *binding_fault_ref_exts,
+            const axis2_env_t *env);
+
+};
+
+struct woden_soap_binding_fault_ref_exts
+{
+    woden_component_exts_t component_exts;
+    woden_soap_binding_fault_ref_exts_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_binding_fault_ref_exts_t * AXIS2_CALL
+woden_soap_binding_fault_ref_exts_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_binding_fault_ref_exts_t * AXIS2_CALL
+woden_soap_binding_fault_ref_exts_to_component_exts(
+        void *soap_binding_fault_ref_exts,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_binding_fault_ref_exts_resolve_methods(
+        woden_soap_binding_fault_ref_exts_t *soap_binding_fault_ref_exts,
+        const axis2_env_t *env,
+        woden_soap_binding_fault_ref_exts_t *soap_binding_fault_ref_exts_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_BINDING_FAULT_REF_EXTS_FREE(soap_binding_fault_ref_exts, env) \
+      (((woden_soap_binding_fault_ref_exts_t *) soap_binding_fault_ref_exts)->ops->free(soap_binding_fault_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_REF_EXTS_SUPER_OBJS(soap_binding_fault_ref_exts, env) \
+      (((woden_soap_binding_fault_ref_exts_t *) soap_binding_fault_ref_exts)->ops->super_objs(soap_binding_fault_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_REF_EXTS_TYPE(soap_binding_fault_ref_exts, env) \
+      (((woden_soap_binding_fault_ref_exts_t *) soap_binding_fault_ref_exts)->ops->type(soap_binding_fault_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_REF_EXTS_GET_BASE_IMPL(soap_binding_fault_ref_exts, env) \
+      (((woden_soap_binding_fault_ref_exts_t *) soap_binding_fault_ref_exts)->ops->get_base_impl(soap_binding_fault_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_FAULT_REF_EXTS_GET_SOAP_MODULES(soap_binding_fault_ref_exts, env) \
+      (((woden_soap_binding_fault_ref_exts_t *) soap_binding_fault_ref_exts)->ops->\
+        get_soap_modules (soap_binding_fault_ref_exts, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_BINDING_FAULT_REF_EXTS_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_binding_msg_ref_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_binding_msg_ref_exts.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_binding_msg_ref_exts.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_binding_msg_ref_exts.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_BINDING_MSG_REF_EXTS_H
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_H
+
+/**
+ * @file woden_soap_binding_msg_ref_exts.h
+ * @brief Axis2 Soap Binding Message Reference Extensions Interface
+ * This interface represents the properties from the SOAP namespace
+ * added to the WSDL 2.0 <code>binding_msg_ref</code> component as part 
+ * of the SOAP binding extension.
+ * <p>
+ * These include:
+ * <ul>
+ * <li>{soap modules}</li>
+ * <li>{soap headers}</li>
+ * </ul> 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_component_exts.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_soap_binding_msg_ref_exts Soap Binding Message Reference Extensions
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_soap_binding_msg_ref_exts_base woden_soap_binding_msg_ref_exts_base_t;
+typedef struct woden_soap_binding_msg_ref_exts woden_soap_binding_msg_ref_exts_t;
+typedef struct woden_soap_binding_msg_ref_exts_ops woden_soap_binding_msg_ref_exts_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_binding_msg_ref_exts_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *soap_binding_msg_ref_exts,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *soap_binding_msg_ref_exts,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *soap_binding_msg_ref_exts,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_component_exts *(AXIS2_CALL *
+    get_base_impl) (
+            void *soap_binding_msg_ref_exts,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_modules) (
+            void *binding_msg_ref_exts,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_headers) (
+            void *binding_msg_ref_exts,
+            const axis2_env_t *env); 
+
+
+};
+
+struct woden_soap_binding_msg_ref_exts
+{
+    woden_component_exts_t component_exts;
+    woden_soap_binding_msg_ref_exts_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_binding_msg_ref_exts_t * AXIS2_CALL
+woden_soap_binding_msg_ref_exts_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_binding_msg_ref_exts_t * AXIS2_CALL
+woden_soap_binding_msg_ref_exts_to_component_exts(
+        void *soap_binding_msg_ref_exts,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_binding_msg_ref_exts_resolve_methods(
+        woden_soap_binding_msg_ref_exts_t *soap_binding_msg_ref_exts,
+        const axis2_env_t *env,
+        woden_soap_binding_msg_ref_exts_t *soap_binding_msg_ref_exts_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_FREE(soap_binding_msg_ref_exts, env) \
+      (((woden_soap_binding_msg_ref_exts_t *) soap_binding_msg_ref_exts)->ops->free(soap_binding_msg_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_SUPER_OBJS(soap_binding_msg_ref_exts, env) \
+      (((woden_soap_binding_msg_ref_exts_t *) soap_binding_msg_ref_exts)->ops->super_objs(soap_binding_msg_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_TYPE(soap_binding_msg_ref_exts, env) \
+      (((woden_soap_binding_msg_ref_exts_t *) soap_binding_msg_ref_exts)->ops->type(soap_binding_msg_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_GET_BASE_IMPL(soap_binding_msg_ref_exts, env) \
+      (((woden_soap_binding_msg_ref_exts_t *) soap_binding_msg_ref_exts)->ops->get_base_impl(soap_binding_msg_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_GET_SOAP_MODULES(soap_binding_msg_ref_exts, env) \
+      (((woden_soap_binding_msg_ref_exts_t *) soap_binding_msg_ref_exts)->ops->\
+        get_soap_modules (soap_binding_msg_ref_exts, env))
+
+#define WODEN_SOAP_BINDING_MSG_REF_EXTS_GET_SOAP_HEADERS(soap_binding_msg_ref_exts, env) \
+      (((woden_soap_binding_msg_ref_exts_t *) soap_binding_msg_ref_exts)->ops->\
+        get_soap_headers (soap_binding_msg_ref_exts, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_BINDING_MSG_REF_EXTS_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,150 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_BINDING_OP_EXTS_H
+#define WODEN_SOAP_BINDING_OP_EXTS_H
+
+/**
+ * @file woden_soap_binding_op_exts.h
+ * @brief Axis2 Soap Binding Operation Extensions Interface
+ * This interface represents the properties from the SOAP namespace
+ * added to the WSDL 2.0 <code>binding_op</code> component as part 
+ * of the SOAP binding extension.
+ * <p>
+ * These include:
+ * <ul>
+ * <li>{soap mep}</li>
+ * <li>{soap action}</li>
+ * <li>{soap modules}</li>
+ * </ul> 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_component_exts.h>
+#include <axis2_array_list.h>
+
+/** @defgroup woden_soap_binding_op_exts Soap Binding Operation Extensions
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_soap_binding_op_exts_base woden_soap_binding_op_exts_base_t;
+typedef struct woden_soap_binding_op_exts woden_soap_binding_op_exts_t;
+typedef struct woden_soap_binding_op_exts_ops woden_soap_binding_op_exts_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_binding_op_exts_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *soap_binding_op_exts,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *soap_binding_op_exts,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *soap_binding_op_exts,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_component_exts *(AXIS2_CALL *
+    get_base_impl) (
+            void *soap_binding_op_exts,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_soap_mep) (
+            void *binding_op_exts,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_soap_action) (
+            void *binding_op_exts,
+            const axis2_env_t *env); 
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_soap_modules) (
+            void *binding_op_exts,
+            const axis2_env_t *env);
+
+};
+
+struct woden_soap_binding_op_exts
+{
+    woden_component_exts_t component_exts;
+    woden_soap_binding_op_exts_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_binding_op_exts_t * AXIS2_CALL
+woden_soap_binding_op_exts_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_binding_op_exts_t * AXIS2_CALL
+woden_soap_binding_op_exts_to_component_exts(
+        void *soap_binding_op_exts,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_binding_op_exts_resolve_methods(
+        woden_soap_binding_op_exts_t *soap_binding_op_exts,
+        const axis2_env_t *env,
+        woden_soap_binding_op_exts_t *soap_binding_op_exts_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_BINDING_OP_EXTS_FREE(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->free(soap_binding_op_exts, env))
+
+#define WODEN_SOAP_BINDING_OP_EXTS_SUPER_OBJS(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->super_objs(soap_binding_op_exts, env))
+
+#define WODEN_SOAP_BINDING_OP_EXTS_TYPE(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->type(soap_binding_op_exts, env))
+
+#define WODEN_SOAP_BINDING_OP_EXTS_GET_BASE_IMPL(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->get_base_impl(soap_binding_op_exts, env))
+
+#define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_MEP(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
+        get_soap_mep (soap_binding_op_exts, env))
+
+#define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_ACTION(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
+        get_soap_action (soap_binding_op_exts, env))
+
+#define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_MODULES(soap_binding_op_exts, env) \
+      (((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
+        get_soap_modules (soap_binding_op_exts, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_BINDING_OP_EXTS_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_fault_code.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_fault_code.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_fault_code.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_fault_code.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_FAULT_CODE_H
+#define WODEN_SOAP_FAULT_CODE_H
+
+/**
+ * @file woden_soap_fault_code.h
+ * @brief Axis2 Soap Fault Code Interface
+ * This class represents the {soap fault code} property that forms part of the 
+ * SOAP extensions to the WSDL <code>woden_binding_fault</code> component.
+ * This property may contain either a QName representing the code or the xs:token #any.
+ * <p>
+ * This class will restrict the possible values to a QName reference or the string "#any".
+ * It provides methods to query whether the property contains a QName or a token and 
+ * methods to retrieve the property value of the appropriate type.
+ * 
+ * 
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <woden.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_soap_fault_code woden_soap_fault_code_t;
+typedef struct woden_soap_fault_code_ops woden_soap_fault_code_ops_t;
+struct woden_ext_element;
+
+/** @defgroup woden_soap_fault_code Soap Fault Code
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_soap_fault_code_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *soap_fault_code,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_qname) (
+            void *soap_fault_code,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_token) (
+            void *soap_fault_code,
+            const axis2_env_t *env);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *soap_fault_code,
+            const axis2_env_t *env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_token) (
+            void *soap_fault_code,
+            const axis2_env_t *env);
+
+
+};
+
+struct woden_soap_fault_code
+{
+    woden_soap_fault_code_ops_t *ops;
+    
+};
+
+AXIS2_EXTERN woden_soap_fault_code_t * AXIS2_CALL
+woden_soap_fault_code_create(
+        const axis2_env_t *env,
+        axis2_char_t *token,
+        axis2_qname_t *code_qn);
+
+AXIS2_EXTERN void * AXIS2_CALL
+woden_soap_fault_code_get_soap_fault_code_any(
+        const axis2_env_t *env);
+
+#define WODEN_SOAP_FAULT_CODE_FREE(soap_fault_code, env) \
+      (((woden_soap_fault_code_t *) soap_fault_code)->ops->\
+         free (soap_fault_code, env))
+
+#define WODEN_SOAP_FAULT_CODE_IS_QNAME(soap_fault_code, env) \
+      (((woden_soap_fault_code_t *) soap_fault_code)->ops->\
+         is_qname (soap_fault_code, env))
+
+#define WODEN_SOAP_FAULT_CODE_IS_TOKEN(soap_fault_code, env) \
+      (((woden_soap_fault_code_t *) soap_fault_code)->ops->\
+         is_token (soap_fault_code, env))
+
+#define WODEN_SOAP_FAULT_CODE_GET_QNAME(soap_fault_code, env) \
+      (((woden_soap_fault_code_t *) soap_fault_code)->ops->\
+         get_qname (soap_fault_code, env))
+
+#define WODEN_SOAP_FAULT_CODE_GET_TOKEN(soap_fault_code, env) \
+      (((woden_soap_fault_code_t *) soap_fault_code)->ops->\
+         get_token (soap_fault_code, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_FAULT_CODE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_fault_subcodes.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_fault_subcodes.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_fault_subcodes.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_fault_subcodes.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_FAULT_SUBCODES_H
+#define WODEN_SOAP_FAULT_SUBCODES_H
+
+/**
+ * @file woden_soap_fault_subcodes.h
+ * @brief Axis2 Soap Fault Subcodes Interface
+ * This class represents the {soap fault subcodes} property that forms part of the 
+ * SOAP extensions to the WSDL <code>woden_binding_fault</code> component.
+ * This property may contain either a list of QNames representing the subcodes or 
+ * the xs:token #any.
+ * <p>
+ * This class will restrict the possible values to a collection of QNames or the string "#any".
+ * It provides methods to query whether the property contains QNames or a token and 
+ * methods to retrieve the property value of the appropriate type.
+ * 
+ * 
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <woden.h>
+#include <axis2_array_list.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_soap_fault_subcodes woden_soap_fault_subcodes_t;
+typedef struct woden_soap_fault_subcodes_ops woden_soap_fault_subcodes_ops_t;
+struct woden_ext_element;
+
+/** @defgroup woden_soap_fault_subcodes Soap Fault Subcodes
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_soap_fault_subcodes_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status subcodes
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *soap_fault_subcodes,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_qnames) (
+            void *soap_fault_subcodes,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_token) (
+            void *soap_fault_subcodes,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_qnames) (
+            void *soap_fault_subcodes,
+            const axis2_env_t *env);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_token) (
+            void *soap_fault_subcodes,
+            const axis2_env_t *env);
+
+
+};
+
+struct woden_soap_fault_subcodes
+{
+    woden_soap_fault_subcodes_ops_t *ops;
+    
+};
+
+AXIS2_EXTERN woden_soap_fault_subcodes_t * AXIS2_CALL
+woden_soap_fault_subcodes_create(
+        const axis2_env_t *env,
+        axis2_char_t *token,
+        axis2_array_list_t *subcode_qns);
+
+AXIS2_EXTERN void * AXIS2_CALL
+woden_soap_fault_subcodes_get_soap_fault_subcodes_any(
+        const axis2_env_t *env);
+
+#define WODEN_SOAP_FAULT_SUBCODES_FREE(soap_fault_subcodes, env) \
+      (((woden_soap_fault_subcodes_t *) soap_fault_subcodes)->ops->\
+         free (soap_fault_subcodes, env))
+
+#define WODEN_SOAP_FAULT_SUBCODES_IS_QNAMES(soap_fault_subcodes, env) \
+      (((woden_soap_fault_subcodes_t *) soap_fault_subcodes)->ops->\
+         is_qnames (soap_fault_subcodes, env))
+
+#define WODEN_SOAP_FAULT_SUBCODES_IS_TOKEN(soap_fault_subcodes, env) \
+      (((woden_soap_fault_subcodes_t *) soap_fault_subcodes)->ops->\
+         is_token (soap_fault_subcodes, env))
+
+#define WODEN_SOAP_FAULT_SUBCODES_GET_QNAMES(soap_fault_subcodes, env) \
+      (((woden_soap_fault_subcodes_t *) soap_fault_subcodes)->ops->\
+         get_qnames (soap_fault_subcodes, env))
+
+#define WODEN_SOAP_FAULT_SUBCODES_GET_TOKEN(soap_fault_subcodes, env) \
+      (((woden_soap_fault_subcodes_t *) soap_fault_subcodes)->ops->\
+         get_token (soap_fault_subcodes, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_FAULT_SUBCODES_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_header_block.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_header_block.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_header_block.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_header_block.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,209 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_HEADER_BLOCK_H
+#define WODEN_SOAP_HEADER_BLOCK_H
+
+/**
+ * @file woden_soap_header_block.h
+ * @brief Axis2 Soap Header Block Interface
+ * This interface represents the &lt;wsoap:header&gt; extension element that 
+ * can appear within a Binding Fault or Binding Message Reference.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_soap_header_block_element.h>
+
+/** @defgroup woden_soap_header_block Soap Header Block
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_soap_header_block_base woden_soap_header_block_base_t;
+typedef struct woden_soap_header_block woden_soap_header_block_t;
+typedef struct woden_soap_header_block_ops woden_soap_header_block_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_header_block_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL * 
+    free) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL * 
+    super_objs) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL * 
+    type) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    struct woden_component_exts *(AXIS2_CALL *
+    get_base_impl) (
+            void *header_block,
+            const axis2_env_t *env);
+
+
+    /* ***********************************************************************
+     *  Component model methods (SOAPHeaderBlock interface), some shared with Element model
+     * ***********************************************************************/
+
+    void *(AXIS2_CALL *
+    get_element_decl) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL * 
+    must_understand) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL * 
+    is_required) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_parent) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element) (
+            void *header_block,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Non-API implementation methods
+     * ************************************************************/
+
+    axis2_status_t (AXIS2_CALL * 
+    set_element_decl) (
+            void *header_block,
+            const axis2_env_t *env,
+            void *element_decl);
+
+    axis2_status_t (AXIS2_CALL * 
+    set_types) (
+            void *header_block,
+            const axis2_env_t *env,
+            void *types);
+
+
+    
+};
+
+struct woden_soap_header_block
+{
+    woden_soap_header_block_element_t header_block_element;
+    woden_soap_header_block_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_header_block_t * AXIS2_CALL
+woden_soap_header_block_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_header_block_t * AXIS2_CALL
+woden_soap_header_block_to_soap_header_block_element(
+        void *header_block,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_soap_header_block_t * AXIS2_CALL
+woden_soap_header_block_to_ext_element(
+        void *header_block,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_soap_header_block_t * AXIS2_CALL
+woden_soap_header_block_to_attr_extensible(
+        void *header_block,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_soap_header_block_t * AXIS2_CALL
+woden_soap_header_block_to_element_extensible(
+        void *header_block,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_header_block_resolve_methods(
+        woden_soap_header_block_t *soap_header_block,
+        const axis2_env_t *env,
+        woden_soap_header_block_t *soap_header_block_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_HEADER_BLOCK_FREE(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+       free(soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_SUPER_OBJS(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->\
+       ops->super_objs(soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_TYPE(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+       type(soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_GET_BASE_IMPL(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+       get_base_impl(soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_GET_ELEMENT_DECL(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        get_element_decl (soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_MUST_UNDERSTAND(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        must_understand (soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_IS_REQUIRED(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        is_required (soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_GET_PARENT(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        get_parent (soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_TO_ELEMENT(soap_header_block, env) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        to_element (soap_header_block, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_SET_ELEMENT_DECL(soap_header_block, env, element_decl) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        set_element_decl (soap_header_block, env, element_decl))
+
+#define WODEN_SOAP_HEADER_BLOCK_SET_TYPES(soap_header_block, env, types) \
+      (((woden_soap_header_block_t *) soap_header_block)->ops->\
+        set_types (soap_header_block, env, types))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_HEADER_BLOCK_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_header_block_deserializer.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_header_block_deserializer.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_header_block_deserializer.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_header_block_deserializer.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_H
+#define WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_H
+
+/**
+ * @file woden_soap_header_block_deserializer.h
+ * @brief Axis2 Soap Header Block Deserializer Soap Header Block Deserializer
+ * Deserializes the &lt;wsoap:header_block&gt; extension element into a 
+ * soap_header_block_element.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_ext_deserializer.h>
+#include <woden_ext_registry.h>
+#include <axiom_node.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_soap_header_block_deserializer Soap Header Block Deserializer
+  * @ingroup woden
+  * @{
+  */
+
+typedef struct woden_soap_header_block_deserializer 
+        woden_soap_header_block_deserializer_t;
+typedef struct woden_soap_header_block_deserializer_ops 
+        woden_soap_header_block_deserializer_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_soap_header_block_deserializer_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *mod_deser,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *mod_deser,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *mod_deser,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_ext_deserializer *(AXIS2_CALL *
+    get_base_impl) (
+            void *mod_deser,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    marshall) (
+            void *mod_deser,
+            const axis2_env_t *env,
+            axis2_char_t *parent_type,
+            void *parent,
+            axis2_qname_t *element_type,
+            axiom_node_t *el_node,
+            void *desc,
+            woden_ext_registry_t *ext_reg);
+
+};
+
+struct woden_soap_header_block_deserializer
+{
+    woden_ext_deserializer_t ext_deserializer;
+    woden_soap_header_block_deserializer_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_header_block_deserializer_t * AXIS2_CALL
+woden_soap_header_block_deserializer_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_soap_header_block_deserializer_t * AXIS2_CALL
+woden_soap_header_block_deserializer_to_ext_deserializer(
+        void *mod_deser,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_header_block_deserializer_resolve_methods(
+        woden_soap_header_block_deserializer_t *mod_deser,
+        const axis2_env_t *env,
+        woden_soap_header_block_deserializer_t *mod_deser_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_FREE(mod_deser, env) \
+      (((woden_soap_header_block_deserializer_t *) mod_deser)->ops->free(mod_deser, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_SUPER_OBJS(mod_deser, env) \
+      (((woden_soap_header_block_deserializer_t *) mod_deser)->ops->super_objs(mod_deser, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_TYPE(mod_deser, env) \
+      (((woden_soap_header_block_deserializer_t *) mod_deser)->ops->type(mod_deser, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_GET_BASE_IMPL(mod_deser, env) \
+      (((woden_soap_header_block_deserializer_t *) mod_deser)->ops->get_base_impl(mod_deser, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_MARSHALL(mod_deser, env, \
+        parent_type, parent, element_type, el_node, desc, ext_reg) \
+      (((woden_soap_header_block_deserializer_t *) mod_deser)->\
+         marshall(mod_deser, env, parent_type, parent, element_type, el_node, \
+             desc, ext_reg))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_HEADER_BLOCK_DESERIALIZER_H */

Added: webservices/axis2/trunk/c/woden/include/woden_soap_header_block_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_header_block_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_header_block_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_header_block_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,211 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WODEN_SOAP_HEADER_BLOCK_ELEMENT_H
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_H
+
+/**
+ * @file woden_soap_header_block_element.h
+ * @brief Axis2 Soap Header Block Element Soap Header Block
+ * This interface represents the &lt;wsoap:header&gt; extension element that 
+ * can appear within a Binding Fault or Binding Message Reference.
+ */
+
+#include <axis2_allocator.h>
+#include <axis2_env.h>
+#include <axis2_error.h>
+#include <axis2_string.h>
+#include <axis2_utils.h>
+#include <axis2_hash.h>
+#include <axis2_qname.h>
+#include <axis2_uri.h>
+#include <axis2_array_list.h>
+#include <woden.h>
+#include <woden_ext_element.h>
+#include <woden_attr_extensible.h>
+#include <woden_element_extensible.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_soap_header_block_element woden_soap_header_block_element_t;
+typedef struct woden_soap_header_block_element_ops woden_soap_header_block_element_ops_t;
+typedef union woden_soap_header_block_element_base woden_soap_header_block_element_base_t;
+
+/** @defgroup woden_soap_header_block_element Soap Header Block Element
+  * @ingroup axiom_soap_header_block
+  * @{
+  */
+
+struct woden_soap_header_block_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *soap_header_block_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *soap_header_block_element,
+            const axis2_env_t *env);
+
+    /**
+     * Set the QName that identifies the Schema element declaration
+     * relating to this soap header.
+     * 
+     * @param qname the QName that identifies a Schema element declaration
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_element_qname) (
+            void *soap_header_block_element,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_element_qname) (
+            void *soap_header_block_element,
+            const axis2_env_t *env); 
+ 
+    /**
+     * Returns the Schema element declaration identified by the QName in the 'element' 
+     * attribute of the &lt;wsoap:header&gt; element. 
+     * If this QName does not resolve to an element declaration in a schema that is visible 
+     * to the containing WSDL description, null will be returned by this method. 
+     * To be visible, the Schema must have been correctly imported or inlined within 
+     * the &lt;types&gt; element.
+     * 
+     * @return the Xml Schema Element identified by the 'element' attribute
+     */
+    void *(AXIS2_CALL *
+    get_element) (
+            void *soap_header_block_element,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_must_understand) (
+            void *soap_header_block_element,
+            const axis2_env_t *env,
+            axis2_bool_t understood); 
+
+    axis2_bool_t (AXIS2_CALL *
+    must_understand) (
+            void *soap_header_block_element,
+            const axis2_env_t *env);
+  
+    axis2_status_t (AXIS2_CALL *
+    set_parent_element) (
+            void *soap_header_block_element,
+            const axis2_env_t *env,
+            void *wsdl_el);
+
+    void *(AXIS2_CALL *
+    get_parent_element) (
+            void *soap_header_block_element,
+            const axis2_env_t *env); 
+  
+    axis2_status_t (AXIS2_CALL *
+    add_documentation_element) (
+            void *soap_header_block_element,
+            const axis2_env_t *env,
+            void *doc_el);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_documentation_elements) (
+            void *soap_header_block_element,
+            const axis2_env_t *env);
+ 
+};
+
+union woden_soap_header_block_element_base
+{
+    woden_ext_element_t ext_element;
+    woden_attr_extensible_t attr_extensible;
+    woden_element_extensible_t element_extensible;
+};
+
+struct woden_soap_header_block_element
+{
+    woden_soap_header_block_element_base_t base;
+    woden_soap_header_block_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_soap_header_block_element_t * AXIS2_CALL
+woden_soap_header_block_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_soap_header_block_element_resolve_methods(
+        woden_soap_header_block_element_t *soap_header_block_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_FREE(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+         free (soap_header_block_element, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_TYPE(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+         type (soap_header_block_element, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_SET_ELEMENT_QNAME(soap_header_block_element, env, qname) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+         set_element_qname (soap_header_block_element, env, qname))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_GET_ELEMENT_QNAME(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+        get_element_qname  (soap_header_block_element, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_GET_ELEMENT(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+         get_element (soap_header_block_element, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_SET_MUST_UNDERSTAND(soap_header_block_element, env, understood) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+         set_must_understand (soap_header_block_element, env, understood))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_MUST_UNDERSTAND(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+        must_understand  (soap_header_block_element, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_SET_PARENT_ELEMENT(soap_header_block_element, env, wsdl_el) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+         set_parent_element (soap_header_block_element, env, wsdl_el))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_GET_PARENT_ELEMENT(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+        get_parent_element  (soap_header_block_element, env))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_ADD_DOCUMENTATION_ELEMENT(soap_header_block_element, env, doc_el) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+        add_documentation_element  (soap_header_block_element, env, doc_el))
+
+#define WODEN_SOAP_HEADER_BLOCK_ELEMENT_GET_DOCUMENTATION_ELEMENTS(soap_header_block_element, env) \
+      (((woden_soap_header_block_element_t *) soap_header_block_element)->ops->\
+        get_documentation_elements  (soap_header_block_element, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_SOAP_HEADER_BLOCK_ELEMENT_H */



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org