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 [4/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_feature.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_feature.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_feature.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_feature.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,204 @@
+/*
+ * 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_FEATURE_H
+#define WODEN_FEATURE_H
+
+/**
+ * @file woden_feature.h
+ * @brief Axis2 Feature Interface
+ * An abstract superclass for WSDL 2.0 elements which can have <documentation> 
+ * child elements. That is, all WSDL 2.0 elements except the <documentation> 
+ * element itself. Defines accessor methods for manipulating DocumentationElements.
+ * 
+ */
+
+#include <woden.h>
+#include <woden_feature_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_documentable.h>
+#include <woden_nested_component.h>
+
+/** @defgroup woden_feature Feature
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_feature_base woden_feature_base_t;
+typedef struct woden_feature woden_feature_t;
+typedef struct woden_feature_ops woden_feature_ops_t;
+struct woden_documentation_element;
+struct woden_wsdl_component;
+struct woden_documentable;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_feature_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *feature,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *feature,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *feature,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_documentable *(AXIS2_CALL *
+    get_base_impl) (
+            void *feature,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_ref) (
+            void *feature,
+            const axis2_env_t *env);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_required) (
+            void *feature,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_parent) (
+            void *feature,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *feature,
+            const axis2_env_t *env);
+
+};
+
+union woden_feature_base
+{
+    woden_documentable_t documentable;
+    woden_feature_element_t feature_element;
+    woden_nested_component_t nested_component;
+};
+
+struct woden_feature
+{
+    woden_feature_base_t base;
+    woden_feature_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_feature_element(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_nested_element(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_documentable_element(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_documentable(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_wsdl_obj(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_nested_component(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_wsdl_component(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_element_extensible(
+        void *feature,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_feature_t * AXIS2_CALL
+woden_feature_to_attr_extensible(
+        void *feature,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_feature_resolve_methods(
+        woden_feature_t *feature,
+        const axis2_env_t *env,
+        woden_feature_t *feature_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_FEATURE_FREE(feature, env) \
+      (((woden_feature_t *) feature)->ops->free(feature, env))
+
+#define WODEN_FEATURE_SUPER_OBJS(feature, env) \
+      (((woden_feature_t *) feature)->ops->super_objs(feature, env))
+
+#define WODEN_FEATURE_TYPE(feature, env) \
+      (((woden_feature_t *) feature)->ops->type(feature, env))
+
+#define WODEN_FEATURE_GET_BASE_IMPL(feature, env) \
+      (((woden_feature_t *) feature)->ops->get_base_impl(feature, env))
+
+#define WODEN_FEATURE_GET_REF(feature, env) \
+      (((woden_feature_t *) feature)->\
+         get_ref(feature, env))
+
+#define WODEN_FEATURE_IS_REQUIRED(feature, env) \
+      (((woden_feature_t *) feature)->\
+         is_required(feature, env))
+
+#define WODEN_FEATURE_GET_PARENT(feature, env) \
+      (((woden_feature_t *) feature)->ops->\
+         get_parent(feature, env))
+
+#define WODEN_FEATURE_TO_ELEMENT(feature, env) \
+      (((woden_feature_t *) feature)->ops->\
+         to_element(feature, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_FEATURE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_feature_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_feature_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_feature_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_feature_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,136 @@
+/*
+ * 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_FEATURE_ELEMENT_H
+#define WODEN_FEATURE_ELEMENT_H
+
+/**
+ * @file woden_feature_element.h
+ * @brief Axis2 Feature Element Interface
+ * Represents the &lt;feature&gt; element.
+ *
+ */
+
+#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 <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_feature_element woden_feature_element_t;
+typedef struct woden_feature_element_ops woden_feature_element_ops_t;
+typedef union woden_feature_element_base woden_feature_element_base_t;
+
+/** @defgroup woden_feature_element Feature Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_feature_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *doc_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *doc_el,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_ref) (void *doc_el,
+            const axis2_env_t *env,
+            axis2_uri_t *uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_ref) (void *doc_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_required) (void *doc_el,
+            const axis2_env_t *env,
+            axis2_bool_t required);
+
+    axis2_bool_t (AXIS2_CALL *
+    is_required) (void *doc_el,
+            const axis2_env_t *env);
+
+};
+
+union woden_feature_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_feature_element
+{
+    woden_feature_element_base_t base;
+    woden_feature_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_feature_element_resolve_methods(
+        woden_feature_element_t *feature_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_FEATURE_ELEMENT_FREE(doc_el, env) \
+      (((woden_feature_element_t *) doc_el)->ops->\
+         free (doc_el, env))
+
+#define WODEN_FEATURE_ELEMENT_TYPE(doc_el, env) \
+      (((woden_feature_element_t *) doc_el)->ops->\
+         type (doc_el, env))
+
+#define WODEN_FEATURE_ELEMENT_SET_REF(doc_el, env, uri) \
+      (((woden_feature_element_t *) doc_el)->ops->\
+         set_ref(doc_el, env, uri))
+
+#define WODEN_FEATURE_ELEMENT_GET_REF(doc_el, env) \
+      (((woden_feature_element_t *) doc_el)->ops->\
+         get_ref(doc_el, env))
+
+#define WODEN_FEATURE_ELEMENT_SET_REQUIRED(doc_el, env, required) \
+      (((woden_feature_element_t *) doc_el)->ops->\
+         set_required(doc_el, env, required))
+
+#define WODEN_FEATURE_ELEMENT_IS_REQUIRED(doc_el, env) \
+      (((woden_feature_element_t *) doc_el)->ops->\
+         is_required(doc_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_FEATURE_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_generic_obj.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_generic_obj.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_generic_obj.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_generic_obj.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,120 @@
+/*
+ * 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_GENERIC_OBJ_H
+#define AXIS2_GENERIC_OBJ_H
+
+#include <axis2_defines.h>
+#include <axis2_error.h>
+#include <axis2_env.h>
+#include <axis2_utils.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+    
+typedef struct axis2_generic_obj axis2_generic_obj_t;
+typedef struct axis2_generic_obj_ops axis2_generic_obj_ops_t;
+    
+/**
+ * @defgroup axis2_generic_obj Generic Obj
+ * @ingroup woden_util 
+ * @{
+ */
+
+/** 
+ * @brief Generic Obj ops struct
+ * Encapsulator struct for ops of woden_generic_obj
+ */
+AXIS2_DECLARE_DATA struct axis2_generic_obj_ops
+{
+
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            axis2_generic_obj_t *generic_obj, 
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_scope) (
+            axis2_generic_obj_t *generic_obj,
+            const axis2_env_t *env,
+            axis2_scope_t scope);
+
+    axis2_status_t (AXIS2_CALL *
+    set_free_func) (
+            axis2_generic_obj_t *generic_obj,
+            const axis2_env_t *env,
+            AXIS2_FREE_VOID_ARG free_func);
+
+    axis2_status_t (AXIS2_CALL *
+    set_value) (
+            axis2_generic_obj_t *generic_obj,
+            const axis2_env_t *env,
+            void *value);
+    
+    void *(AXIS2_CALL *
+    get_value) (
+            axis2_generic_obj_t *generic_obj,
+            const axis2_env_t *env);
+
+};
+    
+     
+/** 
+     * @brief
+     */ 
+AXIS2_DECLARE_DATA struct axis2_generic_obj
+{
+   axis2_generic_obj_ops_t *ops;
+};
+
+/**
+ * create new generic_obj
+ * @return generic_obj newly created generic_obj
+ */
+AXIS2_EXTERN axis2_generic_obj_t * AXIS2_CALL
+axis2_generic_obj_create(const axis2_env_t *env);
+
+/*************************** Function macros **********************************/
+
+#define AXIS2_GENERIC_OBJ_FREE(generic_obj, env) \
+      ((generic_obj)->ops->free (generic_obj, env))
+
+#define AXIS2_GENERIC_OBJ_SET_FREE_FUNC(generic_obj, env, free_func) \
+      ((generic_obj)->ops->set_free_func (generic_obj, env, free_func))  
+
+#define AXIS2_GENERIC_OBJ_SET_SCOPE(generic_obj, env, scope) \
+      ((generic_obj)->ops->set_scope (generic_obj, env, scope)) 
+
+#define AXIS2_GENERIC_OBJ_SET_VALUE(generic_obj, env, value) \
+      ((generic_obj)->ops->set_value (generic_obj, env, value))
+
+#define AXIS2_GENERIC_OBJ_GET_VALUE(generic_obj, env) \
+        ((generic_obj)->ops->get_value(generic_obj, env))
+                                        
+/*************************** End of function macros ***************************/
+
+
+
+/** @} */
+    
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* AXIS2_GENERIC_OBJ_H */

Added: webservices/axis2/trunk/c/woden/include/woden_import.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_import.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_import.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_import.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,155 @@
+/*
+ * 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_IMPORT_H
+#define WODEN_IMPORT_H
+
+/**
+ * @file woden_import.h
+ * @brief Axis2 Import Interface
+ * This class implements the &lt;wsdl:import&gt; element. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_import_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_wsdl_ref.h>
+
+/** @defgroup woden_import Import
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_import_base woden_import_base_t;
+typedef struct woden_import woden_import_t;
+typedef struct woden_import_ops woden_import_ops_t;
+struct woden_wsdl_ref;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_import_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *import,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *import,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *import,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_wsdl_ref *(AXIS2_CALL *
+    get_base_impl) (
+            void *import,
+            const axis2_env_t *env);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_namespace) (
+            void *import,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_namespace) (
+            void *import,
+            const axis2_env_t *env,
+            axis2_uri_t *ns_uri);
+
+};
+
+union woden_import_base
+{
+    woden_import_element_t import_element;
+    woden_wsdl_ref_t wsdl_ref;
+};
+
+struct woden_import
+{
+    woden_import_base_t base;
+    woden_import_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_import_t * AXIS2_CALL
+woden_import_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_import_t * AXIS2_CALL
+woden_import_to_import_element(
+        void *import,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_import_t * AXIS2_CALL
+woden_import_to_wsdl_ref(
+        void *import,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_import_t * AXIS2_CALL
+woden_import_to_attr_extensible(
+        void *import,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_import_t * AXIS2_CALL
+woden_import_to_element_extensible(
+        void *import,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_import_resolve_methods(
+        woden_import_t *import,
+        const axis2_env_t *env,
+        woden_import_t *import_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_IMPORT_FREE(import, env) \
+      (((woden_import_t *) import)->ops->free(import, env))
+
+#define WODEN_IMPORT_SUPER_OBJS(import, env) \
+      (((woden_import_t *) import)->ops->super_objs(import, env))
+
+#define WODEN_IMPORT_TYPE(import, env) \
+      (((woden_import_t *) import)->ops->type(import, env))
+
+#define WODEN_IMPORT_GET_BASE_IMPL(import, env) \
+      (((woden_import_t *) import)->ops->get_base_impl(import, env))
+
+#define WODEN_IMPORT_GET_NAMESPACE(import, env) \
+      (((woden_import_t *) import)->ops->\
+         get_namespace(import, env))
+
+#define WODEN_IMPORT_SET_NAMESPACE(import, env, ns_uri) \
+      (((woden_import_t *) import)->ops->\
+       set_namespace(import, env, ns_uri))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_IMPORT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_import_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_import_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_import_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_import_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,151 @@
+/*
+ * 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_IMPORT_ELEMENT_H
+#define WODEN_IMPORT_ELEMENT_H
+
+/**
+ * @file woden_import_element.h
+ * @brief Axis2 Import Element Interface
+ * This interface represents a &lt;import&gt; XML element 
+ * information item. It declares the behaviour required to support 
+ * parsing, creating and manipulating a &lt;import&gt; element.
+ *
+ */
+
+#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 <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_import_element woden_import_element_t;
+typedef struct woden_import_element_ops woden_import_element_ops_t;
+typedef union woden_import_element_base woden_import_element_base_t;
+
+/** @defgroup woden_import_element Import Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_import_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *import_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *import_el,
+            const axis2_env_t *env);
+     
+    axis2_status_t (AXIS2_CALL *
+    set_namespace) (void *import_el,
+            const axis2_env_t *env,
+            axis2_uri_t *ns_uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_namespace) (void *import_el,
+            const axis2_env_t *env);
+
+   
+    axis2_status_t (AXIS2_CALL *
+    set_location) (void *import_el,
+            const axis2_env_t *env,
+            axis2_uri_t *loc_uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_location) (void *import_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_desc_element) (void *import_el,
+            const axis2_env_t *env,
+            void *desc);
+
+    void *(AXIS2_CALL *
+    get_desc_element) (void *import_el,
+            const axis2_env_t *env);
+
+};
+
+
+struct woden_import_element
+{
+    woden_documentable_element_t documentable_element;
+    woden_import_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_import_element_resolve_methods(
+        woden_import_element_t *import_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_IMPORT_ELEMENT_FREE(import_el, env) \
+      (((woden_import_element_t *) import_el)->ops->\
+         free (import_el, env))
+
+#define WODEN_IMPORT_ELEMENT_TYPE(import_el, env) \
+      (((woden_import_element_t *) import_el)->ops->\
+         type (import_el, env))
+
+#define WODEN_IMPORT_ELEMENT_SET_NAMESPACE(import_el, env, ns_uri) \
+      (((woden_import_element_t *) import_el)->ops->\
+         set_namespace(import_el, env, ns_uri))
+
+#define WODEN_IMPORT_ELEMENT_GET_NAMESPACE(import_el, env) \
+      (((woden_import_element_t *) import_el)->ops->\
+         get_namespace(import_el, env))
+
+#define WODEN_IMPORT_ELEMENT_SET_LOCATION(import_el, env, loc_uri) \
+      (((woden_import_element_t *) import_el)->ops->\
+         set_location(import_el, env, loc_uri))
+
+#define WODEN_IMPORT_ELEMENT_GET_LOCATION(import_el, env) \
+      (((woden_import_element_t *) import_el)->ops->\
+         get_location(import_el, env))
+
+#define WODEN_IMPORT_ELEMENT_SET_DESC_ELEMENT(import_el, env, desc) \
+      (((woden_import_element_t *) import_el)->ops->\
+         set_desc_element(import_el, env, desc))
+
+#define WODEN_IMPORT_ELEMENT_GET_DESC_ELEMENT(import_el, env) \
+      (((woden_import_element_t *) import_el)->ops->\
+         get_desc_element(import_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_IMPORT_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_imported_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_imported_schema.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_imported_schema.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_imported_schema.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_IMPORTED_SCHEMA_H
+#define WODEN_IMPORTED_SCHEMA_H
+
+/**
+ * @file woden_imported_schema.h
+ * @brief Axis2 Imported Schema Interface
+ *          This interface represents a schema import, &lt;xs:import&gt;. It 
+ *          extends the abstract class SchemaImpl, adding support for the 
+ *          <code>schemaLocation</code> attribute.
+ */
+
+#include <woden_schema.h>
+
+/** @defgroup woden_imported_schema Imported Schema
+  * @ingroup woden
+  * @{
+  */
+
+typedef struct woden_imported_schema woden_imported_schema_t;
+typedef struct woden_imported_schema_ops woden_imported_schema_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_imported_schema_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *schema,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *schema,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *schema,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    woden_schema_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *schema,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_location) (
+            void *schema,
+            const axis2_env_t *env,
+            struct axis2_uri *location);
+
+    struct axis2_uri *(AXIS2_CALL *
+    get_location) (
+            void *schema,
+            const axis2_env_t *env);
+
+  
+};
+
+struct woden_imported_schema
+{
+    woden_schema_t schema;
+    woden_imported_schema_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_imported_schema_t * AXIS2_CALL
+woden_imported_schema_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_imported_schema_t * AXIS2_CALL
+woden_imported_schema_to_schema(
+        void *schema,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_imported_schema_resolve_methods(
+        woden_imported_schema_t *schema,
+        const axis2_env_t *env,
+        woden_imported_schema_t *schema_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_IMPORTED_SCHEMA_FREE(schema, env) \
+      (((woden_imported_schema_t *) schema)->ops->free(schema, env))
+
+#define WODEN_IMPORTED_SCHEMA_SUPER_OBJS(schema, env) \
+      (((woden_imported_schema_t *) schema)->ops->super_objs(schema, env))
+
+#define WODEN_IMPORTED_SCHEMA_TYPE(schema, env) \
+      (((woden_imported_schema_t *) schema)->ops->type(schema, env))
+
+#define WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env) \
+      (((woden_imported_schema_t *) schema)->ops->get_base_impl(schema, \
+                                                                        env))
+
+#define WODEN_IMPORTED_SCHEMA_SET_LOCATION(schema, env, location) \
+      (((woden_imported_schema_t *) schema)->ops->set_location(schema, \
+                                                                    env, location))
+
+#define WODEN_IMPORTED_SCHEMA_GET_LOCATION(schema, env) \
+      (((woden_imported_schema_t *) schema)->ops->get_location(schema, \
+                                                                       env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_IMPORTED_SCHEMA_H */

Added: webservices/axis2/trunk/c/woden/include/woden_include.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_include.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_include.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_include.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,140 @@
+/*
+ * 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_INCLUDE_H
+#define WODEN_INCLUDE_H
+
+/**
+ * @file woden_include.h
+ * @brief Axis2 Include Interface
+ * This class implements the &lt;wsdl:include&gt; element. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_include_element.h>
+#include <woden_wsdl_obj.h>
+#include <woden_wsdl_ref.h>
+
+/** @defgroup woden_include Include
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_include_base woden_include_base_t;
+typedef struct woden_include woden_include_t;
+typedef struct woden_include_ops woden_include_ops_t;
+struct woden_wsdl_ref;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_include_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *include,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *include,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *include,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_wsdl_ref *(AXIS2_CALL *
+    get_base_impl) (
+            void *include,
+            const axis2_env_t *env);
+
+    /* No additional definitions required. This class inherits all of its behaviour 
+     * from woden_wsdl_ref. We just need this subclass so we can create an
+     * object representing include_element, which maps to <wsdl:include>.
+     */
+};
+
+union woden_include_base
+{
+    woden_include_element_t include_element;
+    woden_wsdl_ref_t wsdl_ref;
+};
+
+struct woden_include
+{
+    woden_include_base_t base;
+    woden_include_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_include_t * AXIS2_CALL
+woden_include_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_include_t * AXIS2_CALL
+woden_include_to_include_element(
+        void *include,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_include_t * AXIS2_CALL
+woden_include_to_wsdl_ref(
+        void *include,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_include_t * AXIS2_CALL
+woden_include_to_attr_extensible(
+        void *include,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_include_t * AXIS2_CALL
+woden_include_to_element_extensible(
+        void *include,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_include_resolve_methods(
+        woden_include_t *include,
+        const axis2_env_t *env,
+        woden_include_t *include_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INCLUDE_FREE(include, env) \
+      (((woden_include_t *) include)->ops->free(include, env))
+
+#define WODEN_INCLUDE_SUPER_OBJS(include, env) \
+      (((woden_include_t *) include)->ops->super_objs(include, env))
+
+#define WODEN_INCLUDE_TYPE(include, env) \
+      (((woden_include_t *) include)->ops->type(include, env))
+
+#define WODEN_INCLUDE_GET_BASE_IMPL(include, env) \
+      (((woden_include_t *) include)->ops->get_base_impl(include, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INCLUDE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_include_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_include_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_include_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_include_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,133 @@
+/*
+ * 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_INCLUDE_ELEMENT_H
+#define WODEN_INCLUDE_ELEMENT_H
+
+/**
+ * @file woden_include_element.h
+ * @brief Axis2 Include Element Interface
+ * This interface represents a &lt;include&gt; XML element 
+ * information item. It declares the behaviour required to support 
+ * parsing, creating and manipulating a &lt;include&gt; element.
+ *
+ */
+
+#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 <woden.h>
+#include <woden_documentable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_include_element woden_include_element_t;
+typedef struct woden_include_element_ops woden_include_element_ops_t;
+typedef union woden_include_element_base woden_include_element_base_t;
+
+/** @defgroup woden_include_element Include Element
+  * @ingroup woden
+  * @{
+  */
+
+struct woden_include_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *include_el,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *include_el,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_location) (void *include_el,
+            const axis2_env_t *env,
+            axis2_uri_t *loc_uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_location) (void *include_el,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_desc_element) (void *include_el,
+            const axis2_env_t *env,
+            void *desc);
+
+    void *(AXIS2_CALL *
+    get_desc_element) (void *include_el,
+            const axis2_env_t *env);
+
+};
+
+
+struct woden_include_element
+{
+    woden_documentable_element_t documentable_element;
+    woden_include_element_ops_t *ops;
+};
+
+/************************Woden C Internal Methods******************************/
+axis2_status_t AXIS2_CALL
+woden_include_element_resolve_methods(
+        woden_include_element_t *include_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INCLUDE_ELEMENT_FREE(include_el, env) \
+      (((woden_include_element_t *) include_el)->ops->\
+         free (include_el, env))
+
+#define WODEN_INCLUDE_ELEMENT_TYPE(include_el, env) \
+      (((woden_include_element_t *) include_el)->ops->\
+         type (include_el, env))
+
+#define WODEN_INCLUDE_ELEMENT_SET_LOCATION(include_el, env, loc_uri) \
+      (((woden_include_element_t *) include_el)->ops->\
+         set_location(include_el, env, loc_uri))
+
+#define WODEN_INCLUDE_ELEMENT_GET_LOCATION(include_el, env) \
+      (((woden_include_element_t *) include_el)->ops->\
+         get_location(include_el, env))
+
+#define WODEN_INCLUDE_ELEMENT_SET_DESC_ELEMENT(include_el, env, desc) \
+      (((woden_include_element_t *) include_el)->ops->\
+         set_desc_element(include_el, env, desc))
+
+#define WODEN_INCLUDE_ELEMENT_GET_DESC_ELEMENT(include_el, env) \
+      (((woden_include_element_t *) include_el)->ops->\
+         get_desc_element(include_el, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INCLUDE_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_inlined_schema.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_INLINED_SCHEMA_H
+#define WODEN_INLINED_SCHEMA_H
+
+/**
+ * @file woden_inlined_schema.h
+ * @brief Axis2 Inlined Schema Interface
+ * This class represents an inlined schema, &lt;xs:schema&gt;. 
+ * It extends the abstract class schema, adding support for the 
+ * <code>id</code> attribute.
+ */
+
+#include <woden_schema.h>
+
+/** @defgroup woden_inlined_schema Inlined Schema
+  * @ingroup woden
+  * @{
+  */
+
+typedef struct woden_inlined_schema woden_inlined_schema_t;
+typedef struct woden_inlined_schema_ops woden_inlined_schema_ops_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_inlined_schema_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *schema,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (
+            void *schema,
+            const axis2_env_t *env);
+    
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *schema,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    woden_schema_t *(AXIS2_CALL *
+    get_base_impl) (
+            void *schema,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_id) (
+            void *schema,
+            const axis2_env_t *env,
+            axis2_char_t *id);
+
+    axis2_char_t *(AXIS2_CALL *
+    get_id) (
+            void *schema,
+            const axis2_env_t *env);
+
+  
+};
+
+struct woden_inlined_schema
+{
+    woden_schema_t schema;
+    woden_inlined_schema_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_inlined_schema_t * AXIS2_CALL
+woden_inlined_schema_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN woden_inlined_schema_t * AXIS2_CALL
+woden_inlined_schema_to_schema(
+        void *schema,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_inlined_schema_resolve_methods(
+        woden_inlined_schema_t *schema,
+        const axis2_env_t *env,
+        woden_inlined_schema_t *schema_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INLINED_SCHEMA_FREE(schema, env) \
+      (((woden_inlined_schema_t *) schema)->ops->free(schema, env))
+
+#define WODEN_INLINED_SCHEMA_SUPER_OBJS(schema, env) \
+      (((woden_inlined_schema_t *) schema)->ops->super_objs(schema, env))
+
+#define WODEN_INLINED_SCHEMA_TYPE(schema, env) \
+      (((woden_inlined_schema_t *) schema)->ops->type(schema, env))
+
+#define WODEN_INLINED_SCHEMA_GET_BASE_IMPL(schema, env) \
+      (((woden_inlined_schema_t *) schema)->ops->get_base_impl(schema, \
+                                                                        env))
+
+#define WODEN_INLINED_SCHEMA_SET_ID(schema, env, id) \
+      (((woden_inlined_schema_t *) schema)->ops->set_id(schema, \
+                                                                    env, id))
+
+#define WODEN_INLINED_SCHEMA_GET_ID(schema, env) \
+      (((woden_inlined_schema_t *) schema)->ops->get_id(schema, \
+                                                                       env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INLINED_SCHEMA_H */

Added: webservices/axis2/trunk/c/woden/include/woden_interface.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,198 @@
+/*
+ * 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_INTERFACE_H
+#define WODEN_INTERFACE_H
+
+/**
+ * @file woden_interface.h
+ * @brief Axis2 Interface Interface
+ * Represents the Interface component from the WSDL 2.0 Component model.
+ * This component provides a read-only, abstract view of the WSDL 
+ * interface, including any interface information defined within
+ * imported or included WSDL documents. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_interface_element.h>
+#include <woden_configurable.h>
+
+/** @defgroup woden_interface Interface
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_interface_base woden_interface_base_t;
+typedef struct woden_interface woden_interface_t;
+typedef struct woden_interface_ops woden_interface_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_interface_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *woden_interface,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *woden_interface,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *woden_interface,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *woden_interface,
+            const axis2_env_t *env);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *woden_interface,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_extended_interfaces) (
+            void *woden_interface,
+            const axis2_env_t *env);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_interface_faults) (
+            void *woden_interface,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_interface_fault) (
+            void *woden_interface,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_interface_ops) (
+            void *woden_interface,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *woden_interface,
+            const axis2_env_t *env);
+
+};
+
+union woden_interface_base
+{
+    woden_configurable_t configurable;
+    woden_interface_element_t interface_element;
+};
+
+struct woden_interface
+{
+    woden_interface_base_t base;
+    woden_interface_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_t * AXIS2_CALL
+woden_interface_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_interface_t * AXIS2_CALL
+woden_interface_to_interface_element(
+        void *woden_interface,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_t * AXIS2_CALL
+woden_interface_to_documentable(
+        void *woden_interface,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_t * AXIS2_CALL
+woden_interface_to_configurable(
+        void *woden_interface,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_t * AXIS2_CALL
+woden_interface_to_attr_extensible(
+        void *woden_interface,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_t * AXIS2_CALL
+woden_interface_to_element_extensible(
+        void *woden_interface,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_resolve_methods(
+        woden_interface_t *woden_interface,
+        const axis2_env_t *env,
+        woden_interface_t *interface_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_FREE(interface, env) \
+      (((woden_interface_t *) interface)->ops->free(interface, env))
+
+#define WODEN_INTERFACE_SUPER_OBJS(interface, env) \
+      (((woden_interface_t *) interface)->ops->super_objs(interface, env))
+
+#define WODEN_INTERFACE_TYPE(interface, env) \
+      (((woden_interface_t *) interface)->ops->type(interface, env))
+
+#define WODEN_INTERFACE_GET_BASE_IMPL(interface, env) \
+      (((woden_interface_t *) interface)->ops->get_base_impl(interface, env))
+
+#define WODEN_INTERFACE_GET_QNAME(interface, env) \
+      (((woden_interface_t *) interface)->ops->\
+         get_qname(interface, env))
+
+#define WODEN_INTERFACE_GET_EXTENDED_INTERFACES(interface, env) \
+      (((woden_interface_t *) interface)->ops->\
+         get_extended_interfaces(interface, env))
+
+#define WODEN_INTERFACE_GET_INTERFACE_FAULTS(interface, env) \
+      (((woden_interface_t *) interface)->ops->\
+         get_interface_faults(interface, env))
+
+#define WODEN_INTERFACE_GET_INTERFACE_FAULT(interface, env, qname) \
+      (((woden_interface_t *) interface)->ops->\
+         get_interface_fault(interface, env, qname))
+
+#define WODEN_INTERFACE_GET_INTERFACE_OPS(interface, env) \
+      (((woden_interface_t *) interface)->ops->\
+         get_interface_ops(interface, env))
+
+#define WODEN_INTERFACE_TO_ELEMENT(interface, env) \
+      (((woden_interface_t *) interface)->ops->\
+         to_element(interface, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_H */

Added: webservices/axis2/trunk/c/woden/include/woden_interface_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,204 @@
+/*
+ * 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_INTERFACE_ELEMENT_H
+#define WODEN_INTERFACE_ELEMENT_H
+
+/**
+ * @file woden_interface_element.h
+ * @brief Axis2 Interface Element Interface
+ * This interface represents a &lt;interface&gt; XML element 
+ * information item. It declares the behaviour required to support 
+ * parsing, creating and manipulating a &lt;interface&gt; element.
+ */
+
+#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_documentable_element.h>
+#include <woden_configurable_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_interface_element woden_interface_element_t;
+typedef struct woden_interface_element_ops woden_interface_element_ops_t;
+typedef union woden_interface_element_base woden_interface_element_base_t;
+
+/** @defgroup woden_interface_element Interface Element
+  * @ingroup axis2_interface
+  * @{
+  */
+
+struct woden_interface_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *interface_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *interface_element,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_qname) (
+            void *interface_element,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *interface_element,
+            const axis2_env_t *env); 
+ 
+    axis2_status_t (AXIS2_CALL *
+    add_extends_qname) (
+            void *interface_element,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_extends_qnames) (
+            void *interface_element,
+            const axis2_env_t *env); 
+  
+    axis2_status_t (AXIS2_CALL *
+    add_style_default_uri) (
+            void *interface_element,
+            const axis2_env_t *env,
+            axis2_uri_t *uri);
+
+    axis2_uri_t *(AXIS2_CALL *
+    get_style_default) (
+            void *interface_element,
+            const axis2_env_t *env); 
+  
+    axis2_status_t (AXIS2_CALL *
+    add_interface_fault_element) (
+            void *interface_element,
+            const axis2_env_t *env,
+            void *fault);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_interface_fault_elements) (
+            void *interface_element,
+            const axis2_env_t *env);
+  
+    axis2_status_t (AXIS2_CALL *
+    add_interface_op_element) (
+            void *interface_element,
+            const axis2_env_t *env,
+            void *op);
+
+    axis2_array_list_t *(AXIS2_CALL *
+    get_interface_op_elements) (
+            void *interface_element,
+            const axis2_env_t *env);
+
+};
+
+union woden_interface_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+};
+
+struct woden_interface_element
+{
+    woden_interface_element_base_t base;
+    woden_interface_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_element_t * AXIS2_CALL
+woden_interface_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_element_resolve_methods(
+        woden_interface_element_t *interface_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_ELEMENT_FREE(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         free (interface_element, env))
+
+#define WODEN_INTERFACE_ELEMENT_TYPE(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         type (interface_element, env))
+
+#define WODEN_INTERFACE_ELEMENT_SET_QNAME(interface_element, env, qname) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         set_qname (interface_element, env, qname))
+
+#define WODEN_INTERFACE_ELEMENT_GET_QNAME(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+        get_qname  (interface_element, env))
+
+#define WODEN_INTERFACE_ELEMENT_ADD_EXTENDS_QNAME(interface_element, env, qname) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         add_extends_qname (interface_element, env, qname))
+
+#define WODEN_INTERFACE_ELEMENT_GET_EXTENDS_QNAMES(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         get_extends_qnames (interface_element, env))
+
+#define WODEN_INTERFACE_ELEMENT_ADD_STYLE_DEFAULT_URI(interface_element, env, uri) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         add_style_default_uri (interface_element, env, uri))
+
+#define WODEN_INTERFACE_ELEMENT_GET_STYLE_DEFAULT(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+        get_style_default  (interface_element, env))
+
+#define WODEN_INTERFACE_ELEMENT_ADD_INTERFACE_FAULT_ELEMENT(interface_element, env, fault) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+        add_interface_fault_element  (interface_element, env, fault))
+
+#define WODEN_INTERFACE_ELEMENT_GET_INTERFACE_FAULT_ELEMENTS(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+        get_interface_fault_elements  (interface_element, env))
+
+#define WODEN_INTERFACE_ELEMENT_ADD_INTERFACE_OP_ELEMENT(interface_element, env, op) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         add_interface_op_element (interface_element, env, op))
+
+#define WODEN_INTERFACE_ELEMENT_GET_INTERFACE_OP_ELEMENTS(interface_element, env) \
+      (((woden_interface_element_t *) interface_element)->ops->\
+         get_interface_op_elements (interface_element, env))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_fault.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_fault.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,203 @@
+/*
+ * 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_INTERFACE_FAULT_H
+#define WODEN_INTERFACE_FAULT_H
+
+/**
+ * @file woden_interface_fault.h
+ * @brief Axis2 Interface Fault Interface Fault
+ * This class represents the InterfaceFault component from the WSDL 2.0 Component 
+ * Model and the &lt;fault&gt; child element of the &lt;interface&gt; element. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_interface_fault_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_interface_fault Interface Fault
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_interface_fault_base woden_interface_fault_base_t;
+typedef struct woden_interface_fault woden_interface_fault_t;
+typedef struct woden_interface_fault_ops woden_interface_fault_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_interface_fault_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *interface_fault,
+            const axis2_env_t *env);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *interface_fault,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *interface_fault,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *interface_fault,
+            const axis2_env_t *env);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *interface_fault,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_element_decl) (
+            void *interface_fault,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *interface_fault,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_element_decl) (
+            void *interface_fault,
+            const axis2_env_t *env,
+            void *element_decl);
+
+    axis2_status_t (AXIS2_CALL *
+    set_types) (
+            void *interface_fault,
+            const axis2_env_t *env,
+            void *types);
+};
+
+union woden_interface_fault_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_interface_fault_element_t interface_fault_element;
+};
+
+struct woden_interface_fault
+{
+    woden_interface_fault_base_t base;
+    woden_interface_fault_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_interface_fault_element(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_nested_configurable(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_configurable(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_configurable_element(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_documentable_element(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_documentable(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_attr_extensible(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_t * AXIS2_CALL
+woden_interface_fault_to_element_extensible(
+        void *interface_fault,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_fault_resolve_methods(
+        woden_interface_fault_t *interface_fault,
+        const axis2_env_t *env,
+        woden_interface_fault_t *interface_fault_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_FAULT_FREE(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->ops->free(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_SUPER_OBJS(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->ops->super_objs(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_TYPE(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->ops->type(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_GET_BASE_IMPL(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->ops->get_base_impl(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_GET_QNAME(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->ops->\
+         get_qname(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_GET_ELEMENT_DECLARATION(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->\
+         get_element_declaration(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_TO_ELEMENT(interface_fault, env) \
+      (((woden_interface_fault_t *) interface_fault)->ops->\
+         to_element(interface_fault, env))
+
+#define WODEN_INTERFACE_FAULT_SET_ELEMENT_DECL(interface_fault, env, element_decl) \
+      (((woden_interface_fault_t *) interface_fault)->ops->\
+        set_element_decl (interface_fault, env, element_decl))
+
+#define WODEN_INTERFACE_FAULT_SET_TYPES(interface_fault, env, types) \
+      (((woden_interface_fault_t *) interface_fault)->ops->\
+        set_types (interface_fault, env, types))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_FAULT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_fault_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,182 @@
+/*
+ * 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_INTERFACE_FAULT_ELEMENT_H
+#define WODEN_INTERFACE_FAULT_ELEMENT_H
+
+/**
+ * @file woden_interface_fault_element.h
+ * @brief Axis2 Interface Fault Element Interface
+ * This interface represents a &lt;fault&gt; child element of the
+ * WSDL &lt;interface&gt; element. 
+ * It declares the behaviour required to support parsing, 
+ * creating and manipulating a &lt;fault&gt; element.
+ */
+
+#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_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_interface_fault_element woden_interface_fault_element_t;
+typedef struct woden_interface_fault_element_ops woden_interface_fault_element_ops_t;
+typedef union woden_interface_fault_element_base woden_interface_fault_element_base_t;
+
+/** @defgroup woden_interface_fault_element Interface Fault Element
+  * @ingroup axis2_interface
+  * @{
+  */
+
+struct woden_interface_fault_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *interface_fault_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *interface_fault_element,
+            const axis2_env_t *env);
+
+    /**
+     * Set the QName that represens the 'name' attribute of the interface 
+     * &lt;fault&gt; element. This identifies the interface fault.
+     * 
+     * @param qname the QName that identifies the interface fault
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+    
+    axis2_qname_t *(AXIS2_CALL *
+    get_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    /**
+     * Set the QName that represents the 'element' attribute of the interface 
+     * &lt;fault&gt; element. This identifies a Schema element declaration.
+     * 
+     * @param qname the QName that identifies a Schema element declaration
+     */
+    axis2_status_t (AXIS2_CALL *
+    set_element_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
+
+    axis2_qname_t *(AXIS2_CALL *
+    get_element_qname) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    /**
+     * Returns the Schema element declaration identified by the QName in the 'element' 
+     * attribute of the interface &lt;fault&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 XmlSchemaElement identified by the 'element' attribute
+     */
+    void *(AXIS2_CALL *
+    get_element) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+
+};
+
+union woden_interface_fault_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_interface_fault_element
+{
+    woden_interface_fault_element_base_t base;
+    woden_interface_fault_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_fault_element_t * AXIS2_CALL
+woden_interface_fault_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_fault_element_resolve_methods(
+        woden_interface_fault_element_t *interface_fault_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_FREE(interface_fault_element, env) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+         free (interface_fault_element, env))
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_TYPE(interface_fault_element, env) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+         type (interface_fault_element, env))
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_SET_QNAME(interface_fault_element, env, qname) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+         set_qname (interface_fault_element, env, qname))
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_GET_QNAME(interface_fault_element, env) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+        get_qname  (interface_fault_element, env))
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_SET_ELEMENT_QNAME(interface_fault_element, env, qname) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+         set_element_qname (interface_fault_element, env, qname))
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_GET_ELEMENT_QNAME(interface_fault_element, env) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+         get_element_qname (interface_fault_element, env))
+
+#define WODEN_INTERFACE_FAULT_ELEMENT_GET_ELEMENT(interface_fault_element, env) \
+      (((woden_interface_fault_element_t *) interface_fault_element)->ops->\
+         get_element (interface_fault_element, env))
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_FAULT_ELEMENT_H */

Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,213 @@
+/*
+ * 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_INTERFACE_FAULT_REF_H
+#define WODEN_INTERFACE_FAULT_REF_H
+
+/**
+ * @file woden_interface_fault_ref.h
+ * @brief Axis2 Interface Fault Reference Interface Fault Reference
+ * This class represents the Interface Fault Reference component of the 
+ * WSDL 2.0 Component model and the &lt;infault&gt; and &lt;outfault&gt; 
+ * child elements of an interface &lt;operation&gt;. 
+ * 
+ */
+
+#include <woden.h>
+#include <woden_interface_fault_ref_element.h>
+#include <woden_nested_configurable.h>
+#include <axis2_qname.h>
+
+/** @defgroup woden_interface_fault_ref Interface Fault Reference
+  * @ingroup woden
+  * @{
+  */
+
+typedef union woden_interface_fault_ref_base woden_interface_fault_ref_base_t;
+typedef struct woden_interface_fault_ref woden_interface_fault_ref_t;
+typedef struct woden_interface_fault_ref_ops woden_interface_fault_ref_ops_t;
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct woden_interface_fault_ref_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    axis2_hash_t *(AXIS2_CALL *
+    super_objs) (void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    woden_obj_types_t (AXIS2_CALL *
+    type) (void *interface_fault_ref,
+            const axis2_env_t *env);
+    /**
+     * @return the base implementation class
+     */
+    struct woden_nested_configurable *(AXIS2_CALL *
+    get_base_impl) (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_interface_fault) (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_msg_label) (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    get_direction) (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    void *(AXIS2_CALL *
+    to_element)  (
+            void *interface_fault_ref,
+            const axis2_env_t *env);
+
+    /* ************************************************************
+     *  Non-API implementation methods
+     * ************************************************************/
+    axis2_status_t (AXIS2_CALL *
+    set_interface_fault) (
+        void *interface_fault_ref,
+        const axis2_env_t *env,
+        void *fault);
+
+};
+
+union woden_interface_fault_ref_base
+{
+    woden_nested_configurable_t nested_configurable;
+    woden_interface_fault_ref_element_t interface_fault_ref_element;
+};
+
+struct woden_interface_fault_ref
+{
+    woden_interface_fault_ref_base_t base;
+    woden_interface_fault_ref_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_create(
+        const axis2_env_t *env);
+
+
+/***************************Woden C Internal Methods***************************/
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_interface_fault_ref_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_nested_configurable(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_configurable(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_nested_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_configurable_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_documentable_element(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_documentable(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_attr_extensible(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+AXIS2_EXTERN woden_interface_fault_ref_t * AXIS2_CALL
+woden_interface_fault_ref_to_element_extensible(
+        void *interface_fault_ref,
+        const axis2_env_t *env);
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_fault_ref_resolve_methods(
+        woden_interface_fault_ref_t *interface_fault_ref,
+        const axis2_env_t *env,
+        woden_interface_fault_ref_t *interface_fault_ref_impl,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_FAULT_REF_FREE(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->free(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_SUPER_OBJS(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->super_objs(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_TYPE(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->type(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_GET_BASE_IMPL(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->get_base_impl(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_GET_INTERFACE_FAULT(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->\
+         get_interface_fault(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_GET_MSG_LABEL(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->\
+         get_msg_label(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_GET_DIRECTION(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->\
+         get_direction(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_TO_ELEMENT(interface_fault_ref, env) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->\
+         to_element(interface_fault_ref, env))
+
+#define WODEN_INTERFACE_FAULT_REF_SET_INTERFACE_FAULT(interface_fault_ref, env, fault) \
+      (((woden_interface_fault_ref_t *) interface_fault_ref)->ops->\
+         set_interface_fault(interface_fault_ref, env, fault))
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_FAULT_REF_H */

Added: webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h?rev=419452&view=auto
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h (added)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_fault_ref_element.h Wed Jul  5 23:02:19 2006
@@ -0,0 +1,182 @@
+/*
+ * 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_INTERFACE_FAULT_REF_ELEMENT_H
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_H
+
+/**
+ * @file woden_interface_fault_ref_element.h
+ * @brief Axis2 Interface Fault Reference Element Interface
+ * This interface represents a &lt;fault&gt; child element of the
+ * WSDL &lt;interface&gt; element. 
+ * It declares the behaviour required to support parsing, 
+ * creating and manipulating a &lt;fault&gt; element.
+ */
+
+#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_documentable_element.h>
+#include <woden_configurable_element.h>
+#include <woden_nested_element.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct woden_interface_fault_ref_element woden_interface_fault_ref_element_t;
+typedef struct woden_interface_fault_ref_element_ops woden_interface_fault_ref_element_ops_t;
+typedef union woden_interface_fault_ref_element_base woden_interface_fault_ref_element_base_t;
+
+/** @defgroup woden_interface_fault_ref_element Interface Fault Reference Element
+  * @ingroup axis2_interface
+  * @{
+  */
+
+struct woden_interface_fault_ref_element_ops
+{
+   /** 
+     * Deallocate memory
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free) (
+            void *interface_fault_ref_element,
+            const axis2_env_t *env);
+ 
+    woden_obj_types_t (AXIS2_CALL *
+    type) (
+            void *interface_fault_ref_element,
+            const axis2_env_t *env);
+
+    axis2_status_t (AXIS2_CALL *
+    set_ref) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            axis2_qname_t *fault_qname);
+    
+    axis2_qname_t *(AXIS2_CALL *
+    get_ref) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    void *(AXIS2_CALL *
+    get_interface_fault_element) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_msg_label) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            void *msg_label);
+
+    void *(AXIS2_CALL *
+    get_msg_label) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+     
+    axis2_status_t (AXIS2_CALL *
+    set_direction) (
+            void *iface_fault_ele,
+            const axis2_env_t *env,
+            void *dir);
+
+    void *(AXIS2_CALL *
+    get_direction) (
+            void *iface_fault_ele,
+            const axis2_env_t *env);
+    
+
+};
+
+union woden_interface_fault_ref_element_base
+{
+    woden_documentable_element_t documentable_element;
+    woden_configurable_element_t configurable_element;
+    woden_nested_element_t nested_element;
+};
+
+struct woden_interface_fault_ref_element
+{
+    woden_interface_fault_ref_element_base_t base;
+    woden_interface_fault_ref_element_ops_t *ops;
+};
+
+AXIS2_EXTERN woden_interface_fault_ref_element_t * AXIS2_CALL
+woden_interface_fault_ref_element_create(
+        const axis2_env_t *env);
+
+/************************Woden C Internal Methods******************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+woden_interface_fault_ref_element_resolve_methods(
+        woden_interface_fault_ref_element_t *interface_fault_ref_element,
+        const axis2_env_t *env,
+        axis2_hash_t *methods);
+/************************End of Woden C Internal Methods***********************/
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_FREE(interface_fault_ref_element, env) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         free (interface_fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_TYPE(interface_fault_ref_element, env) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         type (interface_fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_REF(interface_fault_ref_element, env, fault_qname) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         set_ref (interface_fault_ref_element, env, fault_qname))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_REF(interface_fault_ref_element, env) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+        get_ref  (interface_fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_INTERFACE_FAULT_ELEMENT(interface_fault_ref_element, env) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+        get_interface_fault_element  (interface_fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_MSG_LABEL(interface_fault_ref_element, env, msg_label) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         set_msg_label (interface_fault_ref_element, env, msg_label))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_MSG_LABEL(interface_fault_ref_element, env) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         get_msg_label (interface_fault_ref_element, env))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_SET_DIRECTION(interface_fault_ref_element, env, dir) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         set_direction (interface_fault_ref_element, env, dir))
+
+#define WODEN_INTERFACE_FAULT_REF_ELEMENT_GET_DIRECTION(interface_fault_ref_element, env) \
+      (((woden_interface_fault_ref_element_t *) interface_fault_ref_element)->ops->\
+         get_direction (interface_fault_ref_element, env))
+
+
+
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+#endif /* WODEN_INTERFACE_FAULT_REF_ELEMENT_H */



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